LINUX.ORG.RU
решено ФорумAdmin

nilfs2 расписание снапшотов

 , , rmcp


1

2

Собственно руками все создаётся и удаляется, но хочется автоматизировать процесс. Примерное расписание 1 раз в день (например в 19-30), с понедельника по пятницу. Актуальность например 2 месяца. С созданием проблем нет:

mkcp -s /dev/drbd0
-в крон по расписанию.. А вот с удалением ss старше 2 месяцев загвоздка. Список имеющихся ss -
lscp -s /dev/drbd0
                 CNO        DATE     TIME  MODE  FLG     NBLKINC       ICNT
                1013  2013-06-06 09:43:52   ss    -           18          5
Удаление происходит в 2 этапа с указанием именно номера ss, а не даты или периода :(

1) Преобразование ss в cp:

chcp cp /dev/drbd0 1013
2) Удаление cp:
rmcp /dev/drbd0 1013

В синтаксисе можно указать напрямую номер ss или список вида: 1) начало..конец 2) начало.. 3) ..конец

Полагаю надо уже отобраный по датам вывод lscp запихать в аргументы удаляющих команд. Помогите с кодом пожалуйста.

Решение найдено

Файл test.txt использован для наглядности.

# lscp -s /dev/drbd0 | grep $(date --date "now -63 days" "+%Y-%m"") | grep -Eo '^.{22}' > test.txt
Записываем номера ss (первые 22 символа из строк) с датой содержащей год и месяц на состояние 63 дней назад в файл test.txt
# chcp cp /dev/drbd0 $(cat test.txt)
Преобразуем нужные ss в cp
# rmcp /dev/drbd0 $(cat test.txt)
Удаляем нужные cp.

Dimarius
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.