V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Devin
V2EX  ›  Linux

直接输入命令可以执行,但在 cron 不执行

  •  
  •   Devin · 2015-11-07 09:46:36 +08:00 · 4147 次点击
    这是一个创建于 3289 天前的主题,其中的信息可能已经有所发展或是发生改变。

    命令如下:
    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)

    14 条回复    2015-11-07 13:25:30 +08:00
    kn007
        1
    kn007  
       2015-11-07 09:48:39 +08:00
    不要嵌套命令
    zho6
        2
    zho6  
       2015-11-07 09:50:54 +08:00
    没有环境变量
    加上命令的全路径 就可以了
    Infernalzero
        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
    dangyuluo
        4
    dangyuluo  
       2015-11-07 10:24:22 +08:00
    jhaohai
        5
    jhaohai  
       2015-11-07 10:29:09 +08:00 via iPhone
    cron 里还是有不少坑的,建议加 cron job 之前先用 sudo -uroot 跑一下
    Devin
        6
    Devin  
    OP
       2015-11-07 10:42:38 +08:00
    @Infernalzero you are right! %要转义 十分感谢!
    iyaozhen
        7
    iyaozhen  
       2015-11-07 11:38:25 +08:00 via Android
    搭车问个问题,我有许多周期性任务需要管理,用 cron 的话不利于前端配置和管理。任务存在 mysql 表里面的,自己写个 python 死循环脚本每秒去扫描全表?
    znoodl
        8
    znoodl  
       2015-11-07 11:47:12 +08:00 via iPhone
    看楼主用 cron 管理日志,问个问题,用 logrotate 管理日志怎么样?有用过吗?
    Ansen
        9
    Ansen  
       2015-11-07 11:49:02 +08:00 via iPhone
    @iyaozhen cron 触发脚本 至于脚本怎么执行任务 执行多少任务 由你决定
    skydiver
        10
    skydiver  
       2015-11-07 11:51:04 +08:00
    跑个题,这个需求不是应该用 logrotate 么
    eccstartup
        11
    eccstartup  
       2015-11-07 11:55:51 +08:00   ❤️ 1
    试试
    /bin/cp
    /bin/date

    命令的执行记录可以在相关用户的 shell 里执行
    mail
    命令查看
    fxxkgw
        12
    fxxkgw  
       2015-11-07 13:10:18 +08:00
    学习了
    RockyLee
        13
    RockyLee  
       2015-11-07 13:15:30 +08:00
    @znoodl 很好用
    salmon5
        14
    salmon5  
       2015-11-07 13:25:30 +08:00
    @znoodl logrotate 真心不是网上那几篇文章夸大的那么好,用 shell 自定义很灵活,比如文件名、日志截取时间,晚上那个人的文章过分的夸大了 logrotate 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2844 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:32 · PVG 19:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.