当前位置: 技术问答>linux和unix
Linux 简单定时任务
来源: 互联网 发布时间:2017-05-22
本文导语: 刚接触Linux定时任务 想要定时输出当前时间到一个文件,做了如下的 cron */1 * * * * /bin/echo `date "+%Y-%m-%d %T"` >> /home/xyz/20140707.txt 可是查看20140707.txt的时候,看不到时间.... 不知啥原因 | 前几天...
刚接触Linux定时任务
想要定时输出当前时间到一个文件,做了如下的 cron
*/1 * * * * /bin/echo `date "+%Y-%m-%d %T"` >> /home/xyz/20140707.txt
可是查看20140707.txt的时候,看不到时间....
不知啥原因
想要定时输出当前时间到一个文件,做了如下的 cron
*/1 * * * * /bin/echo `date "+%Y-%m-%d %T"` >> /home/xyz/20140707.txt
可是查看20140707.txt的时候,看不到时间....
不知啥原因
|
前几天刚回答过这个问题,
crontab 中的命令如果使用%,则需要/转义,否则报错。
写个 crontab ,命令是类似这样的
/path/to/script `date +%Y-%m-%d`
直接运行很正常,但是在 crotnab 里就出错。
man 5 crontab 可以看到,
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 就出错了。
解决办法:可以在 % 前面都加个 ,对于这个例子,写成 date +%Y-%m-%d。
crontab 中的命令如果使用%,则需要/转义,否则报错。
写个 crontab ,命令是类似这样的
/path/to/script `date +%Y-%m-%d`
直接运行很正常,但是在 crotnab 里就出错。
man 5 crontab 可以看到,
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 就出错了。
解决办法:可以在 % 前面都加个 ,对于这个例子,写成 date +%Y-%m-%d。