Я хотел бы автоматизировать следующее. Куча материала в папке с именем ~/Backup/28_10_2019_files/LoadsofStuff
должна копироваться в папку с именем ~/Backup/Daily/LoadsofStuff
ежедневно.
Так как путь к исходной папке содержит синтаксис даты, он будет меняться каждый день, например, сегодняшняя папка, а завтра путь будет ~/Backup/29_10_2019_files/LoadsofStuff
и так далее.
Этот синтаксис, к сожалению, навязывается приложением, генерирующим резервную копию, и оно ломает мою копию cronjob.
Есть ли способ убедиться, что cronjob может скопировать папку с перезаписью, чтобы установить папку назначения, в то время как исходный путь меняется каждый день? Как мне нужно настроить cronjob, чтобы он автоматически понимал, что путь к исходной папке меняется? Я хотел бы только иметь одну недавнюю копию LoadsofStuff
в папке Daily.
Спасибо за ваше время и усилия, Рубен.
Вот пример, который можно использовать.
34 23 * * * /bin/bash -c '/usr/bin/rsync -aH --delete ~/"Backup/$(date +\%d_\%m_\%Y)_files/LoadsofStuff/" ~/"Backup/Daily/LoadsofStuff"'
Первые 5 столбцов указывают, когда задание будет работать: час, минута, и т.д. в Вашей зоне местного времени. Это - 23:34 в примере выше. Для получения дополнительной информации на этих 5 столбцах, посмотрите раздел 5 из Crontab – Справочник. После 5 столбцов команда для выполнения.
Для конфигурирования заданий крона ввести EDITOR=nano crontab -e
(или vi
в nano
если Вы предпочитаете), и добавьте вышеупомянутую строку (все на одной строке) в файл. Для списка текущих заданий ввести crontab -l
.
Пример перезапишет и удалит файлы в ~/Backup/Daily/LoadsofStuff
каждый день. Я просто хочу быть уверенным, что это - то, что Вы хотите.
Отметьте /
в конце исходной папки. Это говорит rsync копировать все в LoadsofStuff
папка к целевой папке.
На каждом выполнении будет работать удар date
и замена $(date +%d_%m_%Y)
с выводом. Обратная косая черта перед каждым знаком процента - что-то crontab
требует.