你知道linux下crontab中的%有啥特殊意义吗?

网友投稿 890 2022-10-11

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

你知道linux下crontab中的%有啥特殊意义吗?

下面由

linux系统教程

栏目给大家介绍linux下crontab中%的使用,及其特殊含义,希望对需要的朋友有所帮助!

linux下crontab中%的使用

crontab中下面的脚本不能 0 1 * * * (cd /u01/prod; rsync -avz app 192.168.0.192:/u01/prod/) &>/home/applprod/backuplog/rsync_`date +%Y%m%d_%H%M%S`.log执行的时候,/var/log/messages日志中显示:Sep 22 22:50:01 ebsapp CROND[13389]: (applprod) CMD ((cd /u01/prod; rsync -avz app 192.168.0.192:/u01/prod/) &>/home/applprod/backuplog/rsync_`date +)好像是命令被截断的样子。于是我把要执行的命令都封装到一个脚本中,放到crontab中执行。但是稍后查看crontab的manpage时发现,%在crontab中有特殊含义:The "sixth" field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a new- line or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.到这里问题已经清楚了,并不是crontab命令被截断,而是被理解成另外的含义了,解决的方法也有了,就是将%进行转义,修改之后的脚本变成了:03 23 * * * (cd /u01/prod; rsync -avz app 192.168.0.192:/u01/prod/) &>/home/applprod/backuplog/rsync_`date +\%Y\%m\%d_\%H\%M\%S`.log

php入门到就业线上直播课:查看学习

上一篇:一分钟讲解linux下怎么配置samba服务
下一篇:linux修改文件权限的命令是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~