Crontab - Как я могу назвать свой файл резервной копии после рабочего дня? - PullRequest
0 голосов
/ 18 ноября 2010

В настоящее время я выполняю 5 одинаковых заданий cron, по одному на каждый рабочий день, для резервного копирования моей папки public_html на веб-сервере на основе Cpanel.Мой cron выглядит так:

tar -zcf /home/mywebsite/public_html/backups/monday_backup.tgz ./public_html
tar -zcf /home/mywebsite/public_html/backups/tuesday_backup.tgz ./public_html
.
.
tar -zcf /home/mywebsite/public_html/backups/friday_backup.tgz ./public_html

Я хотел бы знать, есть ли способ написать cronjob только один раз (вместо 5 раз), чтобы файл резервной копии автоматически получал название дня недели,Что-то вроде:

tar -zcf /home/mywebsite/public_html/backups/$weekday_backup.tgz ./public_html

Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 ноября 2010

date +%A даст вам день недели.Вы можете передать вывод через tr '[A-Z]' '[a-z]', чтобы преобразовать его в нижний регистр, если вы хотите соответствовать именам, которые вы уже используете:

tar -zcf /home/mywebsite/public_html/backups/`date +%A | tr '[A-Z]' '[a-z]'`_backup.tgz ./public_html
0 голосов
/ 18 ноября 2010

Использование:

tar -zcf /home/mywebsite/public_html/backups/`date +%A`_backup.tgz ./public_html

date +%A дает вам текущий день недели (попробуйте это в вашей оболочке или man date, чтобы увидеть этот и другие варианты).

Я никогда не пробовал что-то подобное (например, встраивание команды) в самой строке cron, поэтому вам может потребоваться переместить ее в отдельный скрипт и вместо этого вызвать этот скрипт.

...