当前位置 : 主页 > 操作系统 > centos >

Linux 上常见的例行性工作

来源:互联网 收集:自由互联 发布时间:2022-06-20
Linux 上常见的例行性工作 一 、仅执行一次的工作调度 单一工作排程的运作,那就是 at 这个指令的运作! 1.atd 启动与 at 运作的方式 [root@localhost ~]# /etc/init.d/atd restart Stopping atd: [ OK ]

Linux 上常见的例行性工作

一 、仅执行一次的工作调度单一工作排程的运作,那就是 at 这个指令的运作!

1.atd 启动与 at 运作的方式

[root@localhost ~]# /etc/init.d/atd restart

Stopping atd:                       [ OK ]

Starting atd:                       [ OK ]

2. 设置一下开机启动这个服务

[root@localhost ~]# chkconfig atd on

3.实际运行单一工作调度

1》再过5分钟后,将/root/.basrc 寄给root自己

[root@localhost ~]# at now +5 minutes

at> /bin/mail root -s "testing at job" < /root/.bashrc

at> <EOT>这里输入  ctrl +d 就会出现<EOT> 的字样.

job 7 at 2012-09-24 19:50

[root@localhost ~]# atq 查询目前主机上面有多少的at工件调度如果关闭 atrm +工作号

6   2012-09-25 23:00 a root

7   2012-09-24 20:05 a root

[root@localhost ~]# at -c 6

#!/bin/sh

# atrun uid=0 gid=0

# mail   root 0

2》将上述的第5项工作内容列出来查阅

如果2300停电关机命令如下

[root@localhost ~]# at 23:00 2012-9-25

at> /bin/sync

at> /bin/sync

at> /sbin/shutdown -h now

at> <EOT>

job 6 at 2012-09-25 23:00

事实上,当我们使用at时进入at shell 的环境让用户执行工作命令,你最好使用绝对路径来执行

8 .batch : 系统有空时才进行后台任务 ,他会在 CPU 工作负载小亍 0.8 的时候,才运行你所下达的工作任务

[root@localhost ~]# batch 23:00 2012-9-25

at> sync

at> sync  

at> shutdown -h now

at> <EOT>  这里输入  ctrl +d 就会出现<EOT> 的字样.

job 8 at 2012-09-25 23:00

[root@localhost ~]# atq

6  2012-09-25 23:00 a root

8  2012-09-25 23:00 a root

二、循环执行的例行性工作调度

用户想要新建环形工作调度时,使用的是crontab 这个命令。不过,为了安全性的问题,与at类似,我们可以限制使用crontab 的用户账号。使用限制数据有。

1.用户的设置

(1)将可以使用 crontab 的账号写入其中,若不在这个档案内的使用者则不可使用/etc/cron.allow

vi /etc/cron.allow比如我在里面加入 root dg 这两个用户 注:每个用户各占一行

[dg@localhost ~]$ crontab -e

no crontab for dg - using an empty one

crontab: installing new crontab

(2)将不可以使用 crontab 的账号写入其中,若未记录到这个档案当中的使用者,可以使用/etc/cron.deny

/etc/cron.deny  比如我在里面加入 dg1

[root@localhost ~]# useradd dg1

[dg1@localhost ~]$ crontab -e

You (dg1) are not allowed to use this program (crontab)

See crontab(1) for more information

默认情况下只要不被列入/etc/cron.deny 当中就能直接执行crontab -e

(3)进入后输入如下

0 12 * * * mail dmtsai -s "at 12:00"</home/dmtsai/.bashrc

分时 日月周命令串

[root@localhost ~]# crontab –l  查询   crontab –r 删除

1 12 * * * mail dmtsai -s "at 12:00"< /home/dmtsai/.bashrc

假如每5分钟需要执行 /home/dmtsai/test.sh

*/5 * * */home/dmtsai/test.sh

系统的配置文件 : /etc/crontab

[root@localhost ~]# cat /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

分时日月周执行者 命令串

01 * * * * root run-parts /etc/cron.hourly <--每小时

02 4 * * * root run-parts /etc/cron.daily 《--每天

22 4 * * 0 root run-parts /etc/cron.weekly 《--每周日

42 4 1 * * root run-parts /etc/cron.monthly《--每个月1号

每2小时执行一次

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

上一篇:分享关于Serv-U的那点事儿
下一篇:没有了
网友评论