Crontab 脚本未将结果保存在文件中

Crontab 脚本未将结果保存在文件中

我想每天备份我的数据库,我已经写了一个脚本

我的cnf

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

脚本

#!/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

如果你想以 root 身份运行 bash 脚本,你需要像这样编辑 root 的 crontab: 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.

相关内容