第五天:Linux计划任务

mail命令:

收发邮件(MUA:mail user agent 用户收发邮件的程序)

使用命令:

mail -s ‘Subject’ User@hostname

回车后进入交互输入界面,输入完邮件内容后,. 号另起一行回车结束邮件输入,邮件内容可输入重定向至mail,将命令执行结果通过邮件发送给用户。

at:一次性执行某任务。

使用方法:

  • at [ opption ] … time

time 格式:

  • HH:MM[YYYY-mm-dd]
  • noon,midnight,teatime,tomorrow,now + #(min,h,days,weeks)

常用选项:

  • -l 查看作业队列,相当于atq
  • -f 从文件中读取配置文件至队列中,把at要执行的所有任务放置于文件中,让at 读取此文件作为运行任务。例如:at -f /path/to/file
  • -d删除指定队列作业,相当于atrm命令,可以取消一个排在at排程的工作
  • -c 查看指定作业的具体内容
  • -v可以使用较为明显的时间格式列出at中的工作列表。

Image 201607250838

 

 

Image 201607250839

 

Image 201607250841Image 201607250841 (2)

Image 201607250845crontab:

系统cron :系统任务通过编辑配置文件/etc/crontab来实现。

用户cron:配置文件在/var/spool/cron/$USERNAME处保存

使用方法:

  • -l:列出已经定义了的计划任务(实质上是查看配置文件中的内容)
  • -e:通过vim编辑器定义计划任务,保存退出时自动进行格式检查
  • -r:移除所有计划任务信息
  • -i:在使用-r选项时,进行二次确认。

计划任务书写格式:

# Example of job definition:
# .—————- 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) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name(用户名)  command to be executed(命令最好使用绝对路径,加上选项)

附上常用时间获取格式:date +\%Y\%m\%d\%H\%M (精度到分钟)

作业:

2、每周一到周六的凌晨3点20分,运行cp命令对/etc/目录进行归档另存,存储位置为/backups/etc-YYYY-MM-DD;
20 03 * * 1-6 /usr/bin/cp /etc /backup/etc-$(date +\%Y-\%m-\%d) 2> /val/log/backup_log 1> /dev/null
3、每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;
30 2 * * 7 /usr/bin/cp /etc/fstab /backup/fstab-$(date +%Y-%m-%d-%H-%M-%S)
4、每天晚上12点,取得/proc/meminfo文件中所有以S或M开头的行,
追加至/statistics/meminfo.txt文件中,且每天的消息之前,
要加上类似===============分隔线;
0 0 * * * /bin/grep ‘^S\|^M’ /proc/meminfo >> /statistics/meminfo.txt ; /bin/echo “==========”  >> /statistics/meminfo.txt

 

Image 201607251314

1 comment
  1. 最好不用对结果进行输出, 保存到文件即可

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据