shell脚本内写入权限

shell脚本内写入权限

我使用的是 Debian 7 服务器。我创建了一个由 crontab 执行的 shell 脚本,每天保存 mysqldump。

mysqldump *database* -u *mysql-user* -p*mysql-password* > /backup/mysql_backup/*filename*.sql

如果直接在命令行中输入,一切正常。但如果我执行 shell 脚本本身 (./backup.sh),我不会得到任何结果文件,但不会出现错误。该文件夹权限777,shell脚本可执行。当脚本甚至无法在命令行上执行时,我什至没有尝试将脚本放入 crontab 中。

有人知道该怎么办吗?

答案1

添加#!/bin/bash完成了事情,我只是忘记添加那一行。无法真正说出为什么它在 shell 上不起作用,但不知何故它现在在脚本和 cronjob 内工作。感谢您的评论。

答案2

请记住,crontab 没有与登录 bash shell 时相同的环境变量,尤其是 $PATH,因此请养成使用 crontab 涉及的命令的完整路径的习惯

/usr/bin/mysqldump > /full/path/backup/

相关内容