Я хочу делать резервную копию своей базы данных каждый день, и я написал скрипт

my.cnf

[client]
host=locahost
user=root
password='pw'

script.sh

#!/bin/bash
/bin/mysqldump --defaults-file=/home/wasifkhalil/my.cnf --set-gtid-purged=OFF testing_dump > /home/wasifkhalil/db_backups/$(date +"%Y-%m-%d_%H%M")_crm_backup.sql
exit

теперь, когда я запускаю этот скрипт

[root@instance-main db_backups]# /home/wasifkhalil/script.sh

он отлично работает, и я вижу файл sql в папке, но когда я запускаю его в crontab, он не работает, что я делаю неправильно? (для тестирования я установил 16-ую минуту каждого часа)

16 * * * * root /home/wasifkhalil/script.sh

это версия Cent OS им на

centos-release-7-3.1611.el7.centos.x86_64

1 ответ1

2

Если вы хотите запустить bash-скрипт от имени пользователя root, вам нужно отредактировать crontab root следующим образом:16 * * * * /bin/bash /path/to/script.sh

Объяснение:

16 * * * * = At minute 16th of every hour.
/bin/bash = shell interpretor.
/path/to/script.sh = path to the script that you need to schedule.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .