Linux任务计划编程例题,Linux计划任务(示例代码)

开机自动启动服务

Centos7:systemctl is-enabled "servicename"

systemctl enabled "servicename"(设为开机启动)

Centos6:chkconfig --list "servicename"

chkconfig --add "servicename"(1 设为开机启动)

chkconfig "servicename" on(2 设为开机启动)

计划任务

at:atd服务,适用于一次性的计划任务

at [option] 时间(默认情况下所有的标准输出都不会显示,执行结果会以邮件方式发送在)

建议:如果脚本要放到计划任务中执行,要将执行结果输入到/dev/null中,否则会产生大量的垃圾邮件

at "time" wall 10:00 clock(到了10:00广播10:00到了 Ctrl -d保存退出)

/var/spool/at下存有计划任务

-l 查看计划任务

-c "任务编号" :显示详细的任务信息

-d "任务编号"或 atrm "任务编号":删除指定任务编号

-V 查看当前atd服务版本

由于at是交互式程序,当需要脚本来创建计划任务的时候则可以使用重定向输入:at 12:00 <

-f "文件名" 将文件内容输入到at中

-m 当计划任务完成后判断是否成功

TIME:定义出什么时候进行at这项任务的时间

HH:MM[yyyy-mm-dd]定义年月日

noon,midnight,teatime(4pm)

tomorrow

now+#{min,hours,days,weeks}

at now+20min(20分钟后执行,20分钟后的整数时间,其他时间相似于这个)

白名单:at.allow(默认不存在)

黑名单:at.deny(默认存在)

如果要使普通用户不能执行at,则编辑/etc/at.deny,将要限制的用户加入这个文件即可

如果一个用户既在at.deny中也在at.allow(白名单)中则是允许执行

当有白名单at.allow这个文件后,就意味着所有不在at.allow文件中的普通用户统统拒绝

如果没有白名单也没有黑名单则普通用户都没有权限执行at

周期性计划任务cron

/var/spool/cron中存放创建的计划任务

/var/log/cron中存放的是cron的日志

crond服务依赖于一个cronie(主程序包)的包,提供crond服务,包含crond服务以及配置文件

cronie-anacron辅助程序包,rpm -ql cronie-anacron,会列出一系列目录,当中/etc/anacrontab是配置文件

/etc/cron.daily存放每天执行的任务

crontab是计划任务非常重要的一个配置文件

系统计划任务:/etc/crontab

分钟 小时 日 月 周(0 or 7都表示周日)

*/10 * * * * "username" "exec command" (每十分钟执行)

每月的号数与星期几同时存在默认是或的关系

@reboot 重启之后执行

@yearly 0 0 1 1 *(每年一月一号0点0分)

@annually 0 0 1 1 *(一月一号0点0分执行)

@monthly 0 0 1 * *(每月1号0点0分执行)

@weekly 0 0 * * 0(每个周日0点0分执行)

@daily 0 0 * * *(每天的0点0分执行)

@hourly 0 * * * *(每小时整执行)

* * * * *(每分钟执行)

在计划任务中,%符号有着特殊意义

/etc/cron.d/中可以存放一系列计划任务文件

Centos6:/etc/cron.daily/tmpwatch中用来定时清除临时文件的

Centos7:systemctl status systemd-tmpfiles-setup(查看清除临时文件的程序状态)

用户计划任务:

crontab -e(普通用户创建计划任务,默认打开的是vi程序,没有颜色,编辑变量export EDITOR=vim即可)

crontab -l(查看计划任务)

crontab -l -u 'username' 查看指定用户的计划任务

crontab -r -u 'username' 删除指定用户的计划任务

crontab -i -r 出现是否删除的提示信息

控制用户执行计划任务:

/etc/cron.{allow,deny}

sleep可以实现每几秒实现一次

sleep 10;command(每10s执行一次)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值