大家好
我相信您在阅读此帮助请求时一切都很好。我在 Linux 领域不是很有经验,但我仍然在努力尽快学习。因此,请原谅我的任何明显的无知,并在可能的情况下提供帮助。
我正在运行 ClearOS v5.2 Enterprise 服务器(基于 Centos Linux 发行版),我在 shell 脚本中使用以下命令来备份我的 MySQL 数据库。
mysqldump -u root -pMYPASSWORD --all-databases > /mnt/shares/flexshares/backup/MySQL/mysql-backup-`date +%Y-%m-%d-%H-%M`.sql
我使用 cron 作业在每天凌晨 1:15 调用此脚本。现在,我可以在 cron 日志中看到当时执行了作业并调用了脚本,但命令没有执行(下面的日志条目)。我这样说是因为我没有在 /mnt/shares/flexshares/backup/MySQL 目录中看到正在创建的 sql 文件。
Aug 21 01:15:01 server1 crond[27842]: (root) CMD (/root/my_scripts/backup-mysql.sh)
Aug 22 01:15:01 server1 crond[9031]: (root) CMD (/root/my_scripts/backup-mysql.sh)
奇怪的是,如果我从 CLI 运行相同的命令,它会毫无问题地执行,并且 MySQL 数据库会转储到目标目录 (/mnt/shares/flexshares/backup/MySQL)。
我遗漏了什么或我在脚本中包含了什么导致它无法运行?这是我的 shell 脚本(“backup-mysql.sh”):
#!/bin/bash
# FULL BACKUP OF MySQL DATABASE
mysqldump -u root -pMYPASSWORD --all-databases > /mnt/shares/flexshares/backup/MySQL/mysql-backup-`date +%Y-%m-%d-%H-%M`.sql
我非常感谢能得到的任何帮助,谢谢。
反/反
天命
最佳答案
我认为您的命令没有从脚本中正确执行。你能试试下面的吗-
#!/bin/sh
DUMPFILE=mysql-backup-`date +%Y-%m-%d-%H-%M`.sql
`mysqldump -u root -pMYPASSWORD --all-databases > $DUMPFILE`
关于通过 shell 脚本的 MySQLDump 没有被执行,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18386110/