下面由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
以上就是“你知道linux下crontab中的%有啥特殊意义吗? linux中crontab的用法”的详细内容,更多请关注1818ip网其它相关文章!
相关文章
标签:linux运维
- •winscp连接被拒绝怎么解决 访问被拒绝怎么解决
- •Ubuntu如何安装php7.2、php7.3、php7.4?(方法详解) ubuntu安装php7.4
- •linux与dos的区别是什么 dos和linux的区别
- •raid日志信息如何查看 raid同步如何查看进度
- •linux删除ip地址的命令是什么 思科删除ip地址命令是什么
- •linux查看文件夹大小命令是什么 查看文件夹大小的Linux命令
- •linux下cp命令的用法是什么 linux下cp命令的用法
- •linux怎样查看有几个cpu linux查看有几个用户
- •AIX 和 Linux 的区别?
- •linux怎么查询node版本号 linux怎么查看node版本