Ubuntu Server Cron Jobs не работает

Я собираюсь взорваться: я не могу понять, почему мои задания в файле crontab -e любого пользователя не выполняются. Ни один из них не делает так, что проблема "последнее задание cron не выполняется" неприменима. Также я проверил эту тему и не смог найти никаких ошибок. Я даже избежал моих знаков процента.

Вот мой файл crontab -e при запуске под пользователем root:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# Minute Stunde TagIMonat Monat TagIWoche Kommando
# m h  dom mon dow   command
50 3 * */2 * /usr/bin/openssl pkcs12 -export -out /home/user/export.pfx -inkey /etc/letsencrypt/live/domain/privkey.pem -in /etc/letsencrypt/live/domain/chain.pem -password pass: blabla > /var/log/cron.log
51 3 * */2 * /usr/bin/sshpass -p xxx scp /home/user/export.pfx root@255.255.255.255:/path/to/file/> /var/log/cron.log
0 0 */5 * * /usr/bin/rsync -avx /var/www/nextcloud/apps /nextcloud/backup/path/nextcloud-apps_`date +"\%Y\%m\%d"`/ > /var/log/cron.log
0 0 */5 * * /usr/bin/rsync -avx /var/www/nextcloud/config/config.php /nextcloud/backup/path/nextcloud-config_`date +"\%Y\%m\%d"`/ > /var/log/cron.log
0 0 * * * /usr/bin/mysqldump --single-transaction -h localhost -u user -pPassword db > /nextcloud/backup/path/nextcloud-sqlbkp_`date + "\%Y\%m\%d"`.sql > /var/log/cron.log

Может быть, кто-то может помочь мне с моей проблемой.

Спасибо

1 ответ

Решение

О мой:)

Сначала не следует вставлять такие длинные и сложные вкладыши непосредственно в cron. Вместо этого создайте сценарии bash для всех этих команд.

т.е. вы можете заменить:

 0 0 * / 5 * * / usr / bin / rsync -avx / var / www / nextcloud / apps / nextcloud / backup / path / nextcloud-apps_`date + "\% Y \% m \% d" `/> /var/log/cron.log
0 0 * / 5 * * / usr / bin / rsync -avx /var/www/nextcloud/config/config.php / nextcloud / backup / path / nextcloud-config_`date + "\% Y \% m \% d "` /> /var/log/cron.log

с

0 0 */5 * * /root/bin/rsync_cronjobs.sh > /var/log/cron.log

и переместите ваши команды в скрипт bash, т.е. /root/bin/rsync_cronjobs.sh:

 #! / Bin / Баш

ДАТА =`дата +% Y% m% d`

/ usr / bin / rsync -avx / var / www / nextcloud / apps / nextcloud / backup / path / nextcloud-apps _ $ {DATE} /
/ usr / bin / rsync -avx /var/www/nextcloud/config/config.php / nextcloud / backup / path / nextcloud-config _ $ {DATE} `/

выглядит чище, верно?

Также убедитесь, что вы понимаете, как часто выполняются эти cronjobs. Вы можете проверить их, используя cronwtf. В целях безопасности никогда не вставляйте ничего личного (например, пароли) в такие инструменты.

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