Linux定时任务 背景:寒假在家看到必应每日的壁纸不错,加上在学golang想练手,萌生了把每日壁纸收藏的想法。简单分析后搞定,通过ticker每24小时执行一次任务。一直执行了180+天一切正常。之后莫名panic(tail了下nohup的日志,没看出来….)。一直懒得找原因,于是打算改为Linux定时任务。 cron 简介 cron是Linux系统自带(各发行版均有)的一个定时任务执行工具。通过 ps aux|grep crond可以看到对应的进程。由此也可以了解到此进程为守护进程。 简单使用 crontab -l 命令可列出已经设置当前的任务。 crontab -e 用于编辑计划任务: 按照 分 时 日 月 星期 任务的格式指定在对应时间执行相应的任务。 对于日期格式的指定: “*“表示每一 “,“表示并列多个时间 “-” 指连续,例如你可以设置 20-40则表示在20,40]都执行一次共21次 “/“整除 “L” 年的最后月/月的最后一天 除此之外,日期设置上也可以使用缩写:MON,JUL…等 例如:你可以使用通过 crontab -e并设置内容 " * * * * * echo `date` » $HOME/date.txt " 来指定每分钟输出一次日期并追加到文件 date.txt中。 补充: */2 <==>0/2 ,0,2,4,6… 1/2 则表示减去1能整除2,即1,3,5,7 … 更多参考 man page 一个坑:虽然不能算是cron ​ 从cron启动时的工作目录不是原路径,相对路径失效了。。。 未完待续。。。。……

Continue reading