您的位置:首页 > 运维架构 > Linux

Linux例行性任务

2017-02-06 18:08 162 查看

需求

两种场景

1. 在某个指定时间执行某项任务。(明天早上检查磁盘状态)

2. 周期性执行某项任务。(每天早上备份日志)

分析

让程指定时间运行某些任务,提高自己的工作效率,避免人工登录机器去运行,特别是有程序依赖时,比如说有些统计任务依赖于某些程序执行完毕,设置at命令则不用再处理;

机器周期性执行某些任务,用于机器维护、程序监控或数据备份及清理。

一次性任务

使用at命令,依赖于atd服务。

at工作方式

使用at命令,将任务写入/var/spool/at/目录内。atd服务访问该目录。

权限控制

如果含有/etc/at.allow文件,则只有在该文件中的用户才能使用at。

如果不含有/etc/at.allow文件,但含有/etc/at.deny文件,则只有不在该文件中的用户才能使用at。

如果不含有/etc/at.allow文件和/etc/at.deny文件,则只有root用户才能使用at。

命令用途示例备注
at now + 5 minutes[enter] … [Ctrl+D]创建任务
at now + 10 minutes at> cat .vimrc > /home/work/orage at> <EOT>
atq查看任务结果: 3 2017-02-06 17:36 a root第一列数据为任务id,第二列数据为时间,最后一列为创建者
atrm id将第id个任务删除atrm 3

周期性命令

使用crontab命令,依赖于crond服务。

crontab工作方式

使用crontab命令,将任务写入/var/spool/cron/目录内。cron服务问该目录。

权限控制

如果含有/etc/cron.allow文件,则只有在该文件中的用户才能使用crontab。

如果不含有/etc/cron.allow文件,但含有/etc/cron.deny文件,则只有不在该文件中的用户才能使用crontab。

如果不含有/etc/cron.allow文件和/etc/cron.deny文件,则只有root用户才能使用crontab。

例行任务级别

/etc/crontab 系统级别,可配置路径和邮箱对象。

还有/etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly 四个周期性执行目录可以放置任务。

/etc/cron.d/* 程序级别

/var/spool/cron/* 单用户个性化

命令用途示例备注
crontab -e创建任务crontab -e
crontab -l查看任务crontab -l
crontab -r删除所有任务crontab -r
-u username参数指定执行任务的用户
- crontab每行参数设定

http://linux.vbird.org/linux_basic/0430cron.php#whatiscron” title=”” />

其它

某项服务deamon运行状态查看/操作:/etc/init.d/deamon status/start/stop/restart

某项服务deamon是否预设启动设置:chkconfig daemon on/off

系统所有服务查看:service –status-all

总结

主要是复习下LINUX系统at和crontab两个命令,旨在于多有意识使用这两个命令提高工作效率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 工作