我有一个 cron 工作:
#!/bin/bash
fn=db.backup.$(date +%m-%d-%y).sql
mysqldump -uMyUsr -pMyPass --add-drop-table dbName> $fn
find ./ -name '*.Z' -type f -mtime +7 -exec rm -f {} \;
我收到错误:
/backup.sh: line 3: db.backup.10-24-12.sql: Permission denied
db.backup.10-24-12.sql: No such file or directory
find: ./conf: Permission denied
find: ./pd: Permission denied
看起来任何正在运行 cron 的进程都没有创建文件或运行“查找”命令的权限。
答案1
你应该使用:
fn=/full/path/to/db.backup.$(date +%m-%d-%y).sql
或者
cd /full/path/to/
在导出数据库之前
除非你的 cronjob 看起来像:
* * * * * cd /full/path/to && backup.sh