linux下.sh文件的执行问题。

我自己写了一个.sh的脚本,

rq=` date +%Y%m%d `
mysqldump --opt -uroot -paty110 ticov1 | cat > /var/databack/mysql/bak$rq.sql

这个脚本文件命名为sqlbak.sh 权限只给了执行权限,也就是100
单独执行这个文件,OK可以成功,
加入到crontab后
57 0 * * * root /usr/sbin/sqlback.sh

生成出来的文件就成了一个空文件了,0KB何解啊?

原因是:因为如果你要做mysqldump来备份,那要么你先要进入到你的mysql数据库的那个目录,然后执行你这条命令,要么,在数据库和保存文件就要用完整的路径,否则它会在你的当前目录下执行,这样,当你的当前目录下并没有数据库文件时,就会得到空文件。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-03
1.你的脚本第一行加上 #!/bin/bash
2.mysqldump打上全路径/usr/bin/mysqldump 具体根据你自己的系统写
3.cron里不是那么写的.这么写试试57 0 * * * /bin/bash /usr/sbin/sqlback.sh
第2个回答  2015-10-11
5ttttttgggttttt
第3个回答  2010-12-03
可以去linux -ren 论坛看看,

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网