linux系统crontab中的%有什么特殊意义吗

这篇文章主要介绍“linux系统crontab中的%有什么特殊意义吗”,在日常操作中,相信很多人在linux系统crontab中的%有什么特殊意义吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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中的%有什么特殊意义吗”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程之家网站,小编会继续努力为大家带来更多实用的文章

相关文章

今天小编给大家分享一下excel图案样式如何设置的相关知识点,...
这篇文章主要讲解了“win10设置过的壁纸如何删除”,文中的讲...
这篇“Xmanager怎么显示远程linux程序的图像”文章的知识点大...
今天小编给大家分享一下xmanager怎么连接linux的相关知识点,...
这篇“如何重置Linux云服务器的远程密码”文章的知识点大部分...
本篇内容介绍了“Linux云服务器手动配置DNS的方法是什么”的...