@dmilkoff

Как автоматизировать перемещение файлов с условиями?

Для оптимизации места нужно решить задачу по постоянному перемещению файлов из 1 папки в резервную сроком (на случай вдруг автор запросит) на 3 месяца с последующим удалением.
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Баш наделён всеми необходимыми возможностями в сочетании с find. Конкретизируйте вопрос.
Ответ написан
Комментировать
как-то так ?
Создаем папочку для бэкапа
mkdir /tmp/backup

find /home/bitrix/ext_www/shop.ru/  -mtime  -30 -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)" -print0 | xargs -0 cp --parents --target-directory /tmp/backup


find - рекурсивный поиск
/home/bitrix/ext_www/shop.ru/- откуда искать
-mtime -30 - те что созданы за последние 30 дней значения могу принимать и плюсовые значении.
-regexpне обязательно просто показал если нужны только определенные фацлы
-print 0 тебе не особо нужно, но если у тебя там не просто файлы а структура каталогов со вложениями то через принт мы передаем в xargs короче нормально создадутся все каталоги
xargx - долго ольяснять
|- передать в
cp --parents --target-directoryкопирует создавая дирекорию
/tmp/backupдиректория собственно.

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

УДАЛЕНИЕ
find /tmp/backup -mtime +90 | xargs rm -f;
#удаляет предыдущие бэкапы старше 90 дней
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы