调试系统任务(使用crontab和at命令调度例程或单个(一次)系统任务)

cron用于调度重复性系统任务,at用于特定时间调度单个系统任务,使用cron.deny,cron.allow,at.deny文件可以控制对上述命令的访问
crontab
调度固定间隔的多个系统任务
文件位置:/var/spool/cron/crontabs
控制访问的文件:/etc/cron.d/cron.allow和/etc/cron.d/cron.deny

crontab可以调度例程系统管理任务,使其每日、月、周执行一次
每日系统管理任务可包括:

  • 记账摘要,删除临时记录文件
  • 使用df和ps命令捕获系统快照
  • 每日安全监视,运行系统备份
    每周:
  • 重新生成catman数据库以供man -k命令使用
  • 运行fsck -n命令列出任何磁盘问题
    每月:
  • 列出特定月份未使用的文件
  • 生成每月记账报告

调试系统任务(使用crontab和at命令调度例程或单个(一次)系统任务)_第1张图片
at
调度单个系统任务
文件位置:/var/spool/cron/atjobs
控制访问的文件:/etc/cron.d/at.deny
at文件只执行一次任务,然后从目录中删除这些文件,在将输出定向到独立文件中以供检查单个脚本或命令中很有效
at命令在/var/spool/cron/atjobs目录中存储运行的命令或脚本以及当前环境变量的副本,at文件名为长数字.a,指定文件在at队列的位置
cron守护进程在启动时检查at作业并侦听是否提交了新作业,执行完at作业后从atjobs目录中删除at作业的文件

创建、编辑、显示、删除、控制crontab文件

例 在系统安装期间提供名为root的crontab文件

10 3 *** /usr/sbin/logadm(1)  #第一行 每天凌晨3:10运行logadm命令
15 3 **0 /usr/lib/fs/nfs/nfsfind  #每个星期天凌晨3:15执行nfsfind脚本
10 2 *** [-x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>& 1(3)  #每天2:10运行用于检查夏时制时间的脚本,如果没有RTC时区,也没有/etc/rtc_config文件,则此项不执行操作
30 3 *** [-x /usr/lib/gss/gss-cred_clean ] && /usr/lib/gss/gsscred_clean(4)  #第四行 每天3:30检查并删除通用安全服务表/etc/gss/gsscred_db中的重复项

默认crontab文件:adm(记账),lp(打印),根(一般系统功能和文件系统清除),sys(性能数据搜集),uucp(一般uucp清除)
用户自己也可创建crontab文件,以用户名命名

$ crontab -l [username]  #username指定要为其显示crontab文件的用户的名字

你可能感兴趣的:(笔记)