一、作业(练习)内容:
1、总结Linux系统上的任务计划(at、crontab)的详细使用方法;
at
命令解释:
一次性任务执行
at: at time
at >
精确时间:
HH:MM
模糊时间:
now+#UNIT
noon
midnight
tomorrow
实例:今晚23:00执行cat /etc/fstab;
实例:10分之后执行ip a命令;
作业查看:
at -l,atq
删除尚未运行的作业:
at-d [作业编号]
提交作业: ctrl+d
作业结果:以邮件形式发给用户。
邮件收发:
netstat -antlpt | grep 25
默认收发邮件仅在本机上的用户间进行,且只能通过回环地址进行。
q:退出
n:查看第n封邮件
mail user
mail -s “标题” user
echo “内容” | mail -s “标题” user
crontab
(1)命令解释:
周期性计划任务
(2)Crontab任务有两类
系统crontab: /etc/crontab
用户crontab: 定义在/var/spool/cron/目录中与用户名同名的文件
每行只能定义一个独立的任务
# 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
时间点:
分钟 小时 天 月 周
时间表示法:
1.每个时间位都应该使用其可用的有效范围取值:*就用于所有有效取值。
17 * * * *
8 9 * * *
2.*/#,在对应的时间位有效取值上每#个时间单位一次
*/3 * * * * 每3分钟运行一次
0 */3 * * * 每3个小时运行一次
* */3 * * * 每3个小时每分钟运行一次
(3)连续时间点
20 3 * * 1-6 每周1到6 ,3点20分执行一次
4.离散时间点:
20 3 * * 2,4,6 每周2,4,,6。3点20分执行一次
用户定义:crontab命令
-l:列出已经定义的所有任务
-e:打开编辑界面定义任务
-r:移除所有任务
2、每周一到周六的凌晨3点20分,运行cp命令对/etc/目录进行归档另存,存储位置为/backups/etc-YYYY-MM-DD;
20 3 * * 1-6 /bin/cp -a /etc /backups/etc-$(date +‘%Y-%m-%d‘)
20 3 * * 1-6 /bin/tar -cvf /backups/etc-$(date +‘%Y-%m-%d‘).tar /etc
3、每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;
30 2 * * 7 /bin/cp -a /etc/fstab /backup/fstab-$(date +‘%Y-%m-%d-%H-%M-%S‘)
4、每天晚上12点,取得/proc/meminfo文件中所有以S或M开头的行,追加至/statistics/meminfo.txt文件中,且每天的消息之前,要加上类似===============分隔线;
1 24 * * * echo ‘===================================‘ `egrep "^[SM]" /proc/meminfo` >> /statistics/meminfo.txt
原文地址:http://houzhimeng.blog.51cto.com/3938990/1692086