RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / Linux / 正文内容

linux下设置计划任务

17970 Linux | 2016年12月10日

4.jpg

使用at定义一次性的计划任务

     sudo systemctl is-enabled atd.service 

     sudo systemctl status atd.service

     计划任务文件路径 /var/spool/at/

     定义时间:

     now +5min #五分钟后

     teatime tomorrow #明天下午四点(下午茶时间23333)

     noon +4 days # 四天后的中午

     5pm august 3 2016 # 2016年8月3号的下午5点

     07190937 #7月19日9点37分

     

     编辑任务:

     at -t 07190937

     at> wall "can you see me ?" #wall是发广播的意思

     at> <EOT> #ctrl + d

     atq #查看定制了哪些计划任务

     

     at -c <任务编号> 

     

     定义任务队列:a-z  , A-Z  ,更大的字母执行优先级更高(字母靠后)

       a队列默认给at,b队列默认给batch(当系统负载小于0.8的时候自动执行)

       

       at -q g teatime tomorrow #指定计划任务为g队列

       at -q b 16:05 tomorrow  #指定计划任务为b队列

       PS:batch也是计划任务,不同与at,他不指定具体时间,只是在系统不繁忙的时候执行计划任务,即系统负载<0.8(uptime查看系统负载)

       

     at -t 07190950 -f /path/to/app.sh #执行指定脚本

     

     atrm <任务模块> #删除指定的计划任务

     

     at 命令配合 管道符使用

     

     echo "date > ~/myjob" | at now +5min

     


使用crond指定周期性的计划任务:在指定时间重复执行:

     确保服务开机自启动,并且当前为运行状态

         systemctl is-enabled crond

         systemctl status crond

         systemctl enable crond 

         systemctl start crond 

         

         cron计划任务保存路径/var/spool/cron/...

     使用 crontab 设定计划任务

         crontab -e #编辑计划任务

         *  *  *  *  * date >> ~/myjob.txt #~代表家目录,此命令代表每分钟执行一次

         */5 *  *  *  *  date  #每五分钟执行一次

         0  13  *  *  * date #每天下午13点整执行

         30  02 1,15  *  * date #每个月1号和15号2点30执行一次

         五个*分别代表:min hour day month week(星期)

         

         其他语法:

                 */2 #每2分钟/小时/月...

                 1,2,5 #1,2,5分钟/小时/月...

                 1-14 #从1到14

                 1-10,11-14 #从1到10和从11到14

         时间的取值范围:

                 分钟:0-59

                 小时:0-23

                 天:  0-30/31

                 月:  1-12

                 星期: 0-7 0、7都代表星期日

                 

                 5/* 2 */3 * *  date #不管星期几,每月每隔3天的凌晨2点,每隔5分钟执行1次

                 

         crontab -l  #查看计划任务

         crontab -l -u student #查看指定用户的计划任务

         crontab -r # 删除当前用户的所有计划任务

         

         禁止用户开启计划任务: 

                 vim /etc/cron.deny

                 student #每行写一个

                 

         允许用户开启计划任务(默认没有设置):、

                 vim /etc/cron.allow

                 PS:如果改文件存在那么.deny文件就会失效

                 

         设置全局配置计划任务:

                 vim /etc/crontab 

                  * * * * * <user_name,*匹配所有用户> date


http://junjiang.pw/post/47.html


上一篇:linux环境下的远程访问和认证安全

下一篇:教你使用392个格子做个点阵时钟

猜你喜欢