1
yangqi 2014-05-31 09:44:02 +08:00 1
crontab里要用全路径
|
2
csx163 2014-05-31 09:45:03 +08:00 1
加个>> $HOME/for_crontab/mylog.log 2>&1 到crontab后面
|
3
Tink 2014-05-31 12:35:11 +08:00 1
全路径+1 backup.sh要全路径,sh也要全路径
|
5
kaichen 2014-05-31 16:55:40 +08:00 1
如果不想使用全设置,又不想去设置变量,那么可以在Shebang使用bash -l,或者在crontab上调用bash时带上-l选项。
使用-l选项,可以作为Login shell执行脚本,这样环境变量什么都设置好了。 |
6
hzqim OP @yangqi
@csx163 @Tink @superbear 谢谢您们的指点,crontab一般是要求绝对路径的,但本例中的问题出在*.sql 如果新建一个文件夹 sql ,之后把数据库导出至sql文件夹中,上述命令改成 tar -jcf $DIR/$TAR -C $PHPDIR ssl www -C $NGINXDIR conf.d -C $DIR sql && rm -rf $DIR/sql 就能通过。 另外,如果不新建sql文件夹,把*.sql改成具体的文件名,也是可以正确运行的。所以,我想问题出在crontab把 *.sql理解成文件名而不是通配符,而事实不存在‘*.sql’这个文件,导致不能完全打包,之后的命令rm -rf $DIR/*.sql便无法运行。 |