命令如下:
cp /var/log/xxxxx.log /var/log/xxxxx$(date +%Y%m%d).log
直接输入可以无误执行,在 cron 里
0 23 * * 7 cp /var/log/xxxxx.log /var/log/xxxxx$(date +%Y%m%d).log
syslog 有记录,但不执行, log 如下
(root) CMD (cp /var/log/xxxxx.log /var/log/xxxxx$(date +)
(CRON) info (No MTA installed, discarding output)
1
kn007 2015-11-07 09:48:39 +08:00
不要嵌套命令
|
2
zho6 2015-11-07 09:50:54 +08:00
没有环境变量
加上命令的全路径 就可以了 |
3
Infernalzero 2015-11-07 10:06:20 +08:00 5
0 23 * * 7 cp /var/log/xxxxx.log /var/log/xxxxx`date +\%Y\%m\%d`.log
%要转义,%在 crontab 里是换行的意思,或者把命令写到个 shell 文件中,然后 crontab 里去调用那个 shell |
4
dangyuluo 2015-11-07 10:24:22 +08:00
@Infernalzero 赞
|
5
jhaohai 2015-11-07 10:29:09 +08:00 via iPhone
cron 里还是有不少坑的,建议加 cron job 之前先用 sudo -uroot 跑一下
|
6
Devin OP @Infernalzero you are right! %要转义 十分感谢!
|
7
iyaozhen 2015-11-07 11:38:25 +08:00 via Android
搭车问个问题,我有许多周期性任务需要管理,用 cron 的话不利于前端配置和管理。任务存在 mysql 表里面的,自己写个 python 死循环脚本每秒去扫描全表?
|
8
znoodl 2015-11-07 11:47:12 +08:00 via iPhone
看楼主用 cron 管理日志,问个问题,用 logrotate 管理日志怎么样?有用过吗?
|
10
skydiver 2015-11-07 11:51:04 +08:00
跑个题,这个需求不是应该用 logrotate 么
|
11
eccstartup 2015-11-07 11:55:51 +08:00 1
试试
/bin/cp /bin/date 命令的执行记录可以在相关用户的 shell 里执行 命令查看 |
12
fxxkgw 2015-11-07 13:10:18 +08:00
学习了
|