Aix计划任务学习
Cron守护进程能够在指定的时间执行shell脚本,其实与windows下面的任务计划调度bat文件一样。
#crontab 定期执行命令 (这个是我主要学习的)
#at 只需一次
#batch 系统附载允许时被调度一次批处理
cron守护进程在系统初始化时将检查crontab文件和at记录的文件,发现更改,立马发送给cron守护进程,进行执行。
# ps -ef| grep cron
root 3866822 1 0 Feb 01 - 0:12 /usr/sbin/cron
root 8519772 7143576 0 15:36:46 pts/5 0:00 grep cron
列出系统有那些计划任务:
#crontab -l
前面省
# US GovernmentUsers Restricted Rights - Use, duplication or
# disclosurerestricted by GSA ADP Schedule Contract with IBM Corp.
#
#0 3 * * */usr/sbin/skulker
#45 2 * * 0/usr/lib/spell/compress
#45 23 * * *ulimit 5000; /usr/lib/smdemon.cleanu > /dev/null
0 11 * * */usr/bin/errclear -d S,O 30
0 12 * * */usr/bin/errclear -d H 90
0,5,10,15,20,25,30,35,40,45,50,55* * * * /usr/sbin/dumpctrl -k >/dev/null 2>/dev/null
0 15 * * * /usr/lib/ras/dumpcheck >/dev/null2>&1
55 23 * * */var/perf/pm/bin/pmcfg >/dev/null2>&1 #Enable PM DataCollection
59 23 * * */var/perf/pm/bin/pmcfg -T >/dev/null2>&1 #Enable PM Data Transmission
#
每个用户都可以有自己的计划任务
#su– user
#crontab–l
前五个*分别代表
.---------------- minute (0 - 59)
| .------------- hour (0 - 23)
| | .---------- day of month (1 - 31)
| | | .------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
一般比如建立一个脚本之后必须赋予权限,才能在crontab调用shell时运行
#chmod 777 ddd.sh 一般权限给不了777
如果计划任务已经存在,我们可以到/var/spool/cron/crontabs目录查看。
# cd /var/spool/cron/crontabs
# ls
adm esaadmin root sys uucp
当然并不是每个用户都可以使用计划任务功能。在AIX任务计划授权使用两个文件。
/var/adm/cron/cron.deny 定义不允许的用户
/var/adm/cron/cron.allow 定义允许的用户
如果cron.allow文件存在,只有把用户名写入到这个文件的用户才可以使用crontab命令。当然如果cron.allow存在,root肯定在其中。
如果两个文件都存在,还是只有在cron.allow文件中出现的用户才能执行crontab命令。相反,如果两个文件都不存在,就只有root能够执行crontab。
如果只有cron.deny文件,则说明出现在这个文件的用户就不能执行执行,其他用户全部都可以执行crontab。
注意:
小心一些陷阱
-* * 15 * * /myshell.sh
你看这个计划任务是什么,就是每月15日这一天不停的执行这个脚本。
下面是一些网上找的相关目录资料:
摘自 wolf