例行性工作安排(crontab)

Linux工作日程的种类:at,crontab
crontab:是一种例行性的,没和一定周期要执行的事
at:一种突发性的,就是只做一次

at:
    是一个可以处理执行一次就结束的指令,执行at必须要有atd这个服务的支援。
crontab:
    这个命令所设定的工作会循环执行下去,可循环的时间为分,小时,每周,每年或每月。
    crontab处理可以使用命令执行外,亦可编辑/etc/crontab来支持,crond这个服务可以让crontab生效
Linux常见例行性工作:
        进行登录的轮替(log roate);登录文件分析(logwatch)的任务;建立locate的数据库;
        whatis数据库的建立;rpm软件登录文件的建立;移除暂存文档;网络服务有关的分析行为
        
atd的启动与at的工作方式:
启动atd服务
如下图

at的运作方式
    使用at这个指令来产生所需要运作的工作,并将这个工作以文本文件的方式写入/var/spool/at/目录内,该
    工作便能等待atd这个服务的取用与执行。
    
/etc/at.allow与/etc/at.deny这个文件进行at的使用限制
    1.先找寻/etc/at.allow这个文件
    2.如果/etc/at.allow不存在,就寻找/etc/deny这个文件。
    3.如果两个文件都不存在,那么只用root可以使用at这个命令。
范例1:再过五分钟后,将/root/.bashrc发送给自己
        at now +5 minutes
        at> /bin/mail root -s "test at job" < /root/.bashrc
        at> <EOT> 这里输入crtl+d!代表结束
范例2:查询第4项工作内容
            at -c 4
实时上,当我们使用at命令的使用是进入一个at shell的环境来让用户执行任务
如下图2:    

at 有另外一个很棒的优点,那就后台执行的功能
at的工作管理
            atq 查询
            atrm [jobnumber] 删除错误指令
            
batch:系统有空时才进行背景任务
batch是利用at来下达命令的,只是加入了一些控制参数,他会在CPU工作负载小于0.8的时候,才下达你的工作任务。

循环执行的例行性工作:
循环执行的例行性工作由cron(crond)这个系统服务来控制,Linux系统上原有很多例行性工作,因此这个服务系统默认启动,
Linux也给使用者提供控制例行性工作的安排命令(crontab)
使用者设定同样有两个文件 :/etc/cron.allow;/etc/cron.deny.
cron.allow 比cron.deny优先级高,判断上这两个文件只选择一个限制而已。

当用户使用crontab创建例行工作日程时,该工作会被记录到/var/spool/cron/里面 ,用户使用crontab后,工一项作记录会被记录到
/var/spool/cron/user里面去,注意不要使用vi去直接编辑该文件文件,应为可能由于输入法造成无法执行cron,另外执行cron执行每
一项工作都会被记录到/var/log/cron这个登录文件(查看Linux是否被植入木马,可以查看此文件)        
        crontab [-u username] [-l|-e|-r]
            -u:只有root才能进行这个任务,也可帮其他使用者建立或移除crontab工作
            -e:编辑crontab的工作内容
            -r:移除所有crontab的工作内容,若仅要移除一项,请去-e去编辑
例子:
    crontab -e
    0 12 * × × mail root -s "at 12:00" < /home/root/.bashrc
    分 时 日 月 周 |<====指令串========>|
    
特殊字符的意义:
*(星号)    带阿比啊啊哦任何时候都接受
,(逗号) 代表分隔时段例:下达3点与6点时就会是:0 3,6 * * * command
-(减号)代表一段时间
/n(斜线)那个数字n,每隔n单位时间的意思:每隔5分钟进行一次:*/5 * * * * command
系统配置文件:/etc/crontab
系统的例行性任务,可以编辑这个文件配置。

如图3:


Centos支持run-parts这一scripts的辅助,所以有两种下达命令的方式:
一、指令形态:0 12 * × × mail root -s "at 12:00" < /home/root/.bashrc
二、目录规划  0 12 * × ×  run-parts /root/runcron
    建立一个/root/runcron的目录,将会执行该目录下的可执行文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值