linux 定时任务at和crontab命令解析
at命令,一次性任务(和win中的at命令有些差距)
crontab命令,循环任务
这两个命令都是分钟级别,如果需要定位到秒可以使用sleep进行秒级定位。
crontab命令
crontab,默认存储文件:/var/spool/cron/用户名
(注:默认只有root用户可以查看定时任务,其他用户没有权限,即使你是文件所有者也不行,因为在上层目录cron目录中other组没有x权限,解决方法就是给cron目录other添加x权限)
crontab的几种用法:
第1种:直接使用crontab,以ctrl+d结束(注:此方法会覆盖历史任务,根据环境使用)
第2种:crontab -e,是最常用的方法,其实就编辑/var/spool/cron/【你的用户名】文件,后保存。
第3种:使用EOF参数,常用用于脚本。
如下:
`crontab -l`,利用shell命令获取历史任务(shell命令通用的哦!管道符、grep、sed、awk等命令)
at命令
at,默认存储文件:/var/spool/at/【id】(id格式:a000+”16进制at任务id”+“没研究透的序列”)
如下:任务id为102,转换16进制就是66
第1种用法:at [选项] [时间] ,ctrl+d结束。
atq或at -l:查看at任务
at -c “任务id”:查看at定时执行的任务
第2种用法:EOF,和crontab类同
如下,添加任务:定时23:59:59 执行test.sh
当需要执行的定时任务有for循环时,推荐使用at在脚本比较直接(当然你也使用crontab,但会导致crontab中的排版凌乱!)也可以at在脚本中,自启脚本实现循环。
最近没时间完善存稿都堆积了,惭愧,将就一下。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 FFing!
评论