文章目录
  • crontab -e: 无需用户列,普通用户
  • /var/log/cron: 运行日志
  • /etc/crontab: 只有root允许编辑(多了一个用户列);
    编辑后不需要重启!
  • /var/spool/cron/username: 其他用户
# 如分钟填2,表示一小时的第2分钟;
# 单独的'*'表示每一个最小的精度如:每分钟、每周几... 如果是每分钟都填星号

# 分钟  小时 天  月    星期  USER  命令/脚本
#  0    18   *  1-3   2,5  root   NULL :1-3月份,每个星期2,5的下午6点
#  */2  0-2  *  9-12  1-5  root   sh   :9-12月份,周1-周5,0:00到2:00点,每隔两分钟,执行脚本sh
#		2W: 这个月2号的最近工作日,若2号是周六则实际为4号.不能跨月! LW:表示这个月最后一周的工作日!
#		L:  一个月的最后一天
#					6L:  一个月的最后一个星期五;不加表示周六:7!
#					7#3: 本月第3周的周六

at

指定在某个时间点做某事

atd进程必须要启动,atdcrond每隔一分钟醒来一次

  • /var/spool/at/*: 存放计划任务,执行完毕自动删除.
  • /etc/at.deny: 不允许使用at的用户列表
# '5:30pm' '17:30' '17:30 today' '17:30 13.12.11' '17:30 13/12/26'
# 'now + 3 days' 'now + 3 hours' 'now + 180 minutes'
# -f: 指定所要执行的脚本文件
# -l: 查看队列中的任务,或jobs
# -d: 删除计划任务,加上计划任务的序号
at -f file time

job

  # C-z: 将前台运行的命令放到后台(或直接命令后加&符号).
  bg 2  # 可将后台暂停的任务继续执行,2是任务编号.
  fg 2  # 将后台命令调至前台运行. 'kill %2' 可关闭任务编号为2的进程.
  jobs  # 列出当前所有后台运行的命令! -l:也显示其PID.
  nice -n 2  # 调整作业新的优先级,[-20,+20],20最低!默认优先级是0.普通用户可能无法调高.