Сжатие каталогов старше 7 дней

У меня есть каталоги (есть некоторые файлы .txt), как это. Я хочу сжать каталоги старше 7 дней (по измененной дате) до соответствующего каталога YYYY_MM

2019_08_05_132134_ABC

2019_08_02_084423_ABC

2019_07_30_024651_ABC

20108_07 115]

2019_07_24_084423_ABC

2019_06_15_024651_ABC

2019_06_08_084423_ABC

2019_05_13_084423_ABC

2019_05_07_084423_1111, сегодня - 1111, дБ 1111 переместиться в файл YYYY_MM.tar.gz

2019_07_27_084423_ABC, 2019_07_24_084423_ABC -> 2019_07.tar.gz

2019_06_15_024651_ABC, 2019_06_08_084423_13_08_03_09_09_03_09_03_09_03_09_08_08_08_08_08_08_08_08_08_08_08_08_08_0_0_0 -> -> -> -> -> -> 201B - 201_08_08_08_08_09_08_08_08_08 -> -> -> -> -> -> - 201_08_08_08_08_08_09_08_09_03_0_0: -> -> -> -> -> - 20-е годы: 11.11.11 - 09.11.11 - 09.11.11.jpg ->. > 2019_05.tar.gz

У меня пока есть этот сценарий. Я перебираю Root dir, извлекаю год и месяц из имени папки и создаю YYYY_MM dir в TEMP_DIR и перемещаю папку в TEMP_DIR. Затем выполните цикл TEMP_DIR, сожмите каждую папку YYYY_MM в .tar.gz и удалите папку YYYY_MM из TEMP_DIR

cd $ROOT_DIR
if find $ROOT_DIR -mindepth 1 | read; then
for f in *;do
  year=${f:0:4}
  month=${f:5:2}
 mkdir -p "$TEMP_DIR/${year}_${month}"
 mv -v "$f" "$TEMP_DIR/${year}_${month}/$f"
done

cd $TEMP_DIR
for i in *;do
 tar czf $ARCH_DIR/$i.tar.gz $i
 rm -r $TEMP_DIR/$i
done

, но она архивирует все каталоги, не зная, как ограничить просмотр только 7-дневных папок , Я новичок в скрипте Linux, должен быть простой способ сделать это. Надеюсь, что кто-то может оказать вам помощь в этом.

1
задан 6 August 2019 в 05:46

0 ответов

Другие вопросы по тегам:

Похожие вопросы: