您好,登錄后才能下訂單哦!
這篇文章主要介紹“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中的%有什么特殊意義嗎”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。