Я запускаю неоправданно сложный сценарий, который выглядит примерно так: 2 дня "папка. И еще несколько команд повторяются вплоть до 7 дней! Таким образом, каждый день файлы из предыдущей папки «X days old» перемещаются в папку на следующий день.
Я в основном пытаюсь организовать файлы автоматически, работая в cron, чтобы переместить файлы старше X дней в правильную папку. Это неэффективно, но мне нужно, чтобы это произошло. Есть ли более простой и эффективный способ?
Как только он попадет в папку 7 дней, у меня есть последняя команда, которая удаляет файлы старше 7 дней из этой последней папки.
Я использую (для аналогичной ситуации) нестандартный способ: logrotate
.
Это позволит выполнить резервное копирование всех видео из /home/user/videos
в файл /home/nb/videos/backup/videos.tar
(ежедневно), а затем автоматически переместить старые файлы tar
в ...1.tar
, ...2.tar
и т. Д. Резервные копии старше 7 дней будут удален.
Я включил mv /home/user/videos/*.avi /var/tmp
, чтобы сохранить копию видео на случай, если что-то пойдет не так.
Для активации этой конфигурации logrotate поместите файл, аналогичный этому, в каталог /etc/logrotate.d
:
/home/nb/videos/backup/videos.tar {
rotate 7
daily
notifempty
nocreate
nocompress
missingok
postrotate
if ls /home/user/videos/*.avi > /dev/null 2>&1; then
tar cf /home/nb/videos/backup/videos.tar /home/user/videos/*.avi
mv /home/user/videos/*.avi /var/tmp
fi
endscript
}
Для получения дополнительной информации см. man logrotate
.