linux中计划任务命令 linux的计划任务( 五 )


//如何进行计划任务的备份?
crond时间含义
# 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//星期# | | | | |# * * * * * command to be executed
// * 表示任意的(分、时、日、月、周)时间都执行// - 表示一个时间范围段, 如5-7点// , 表示分隔时段, 如6,0,4表示周六、日、四// */n 表示每隔n单位时间, 如*/10 每10分钟
crond编写示例
00 02 * * * command
00 02 1 * * command
00 02 14 2 * command
00 02 * * 7 command
00 02 * 6 5 command
00 02 14 * 7 command
00 02 14 2 7 command
00 02 * * * command* 02 * * * command* * * * * command* * 14 2 * command*/5 * * * * command
00 02 * 1,5,8 * command
00 02 1-8 * * command
crond书写规范
//1.为计划任务增加必要的注释
[root@wangqing ~]# crontab -l
##time sync
*/5 * * * * /usr/sbin/ntpdate time1.aliyun.com/dev/null
//2.规范计划任务执行脚本存放的路径/scripts/
[root@wangqing ~]# crontab -l
##backup www to /backup3001* * */bin/sh /scripts/www_backup.sh/dev/null
//3.执行shell脚本任务前加/bin/sh, 脚本结尾加/dev/null//调试好后应屏蔽debug输出信息,避免产生系统垃圾占用过多inode, 如需输出日志, 可重定向至日志文件
[root@wangqing ~]# crontab -l
####backup www to /backup3001* * */bin/sh /scripts/www_backup.sh/tmp/www_backup.log
[root@wangqing ~]# crontab -e
#每天凌晨切割nginx日志0500* * * /bin/bash -x /scripts/cut_nginx.sh/scripts/log/nginx.log
#每天5点备份数据库0005* * * /bin/bash -x /scripts/dump_sql.sh /scripts/log/mysql.log
//注意:1.我们所有的crond服务是运行的程序 。而crontab命令用户用来设置定时规则的命令 。2.crond服务是企业生产工作中常用的重要服务linux中计划任务命令,at很少使用,可以忽略 。3.几乎每个服务器都会用到crond服务 。
建议: 将需要定期执行的任务写入脚本中, 建立/scripts目录统一存放脚本, 脚本中命令必须使用绝对路径,手动执行脚本检测输出是否正常, 然后将脚本加入计划任务测试, 测试后无问题将脚本输出写入对应的日志文件中即可 。
计划任务添加步骤:
作业:
a. 00 13,20 * 1-5 * backup.sh
b. 0 13,20 1,5 * * backup.sh
c. * 13,20 * * 1-5 backup.sh
d. 00 13,20 * * 1-5 backup.sh
说明以上答案每一行是什么含义
2.新建/scripts/httpd.sh文件,并让/scripts/httpd.sh脚本在每天的00:10分执行
3.新建/backup目录,每周一下午5:50将/backup目录下的所有文件打包成 backup.tar.gz
4.写一个定时任务,每天0点5分把/var/log/nginx下7天前的文件转移到/backup/2018_xx_xx的目录中
5.系统脚本/scripts/which.sh,如何定时每隔7分钟执行一次?
6.如何不小心删除了/var/spool/cron/root文件,该如何恢复 。
/p3.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/49da2da0342544a6a4c02f2aa442d537","uri":"","width":323,"height":27,"darkImgUrl":"","darkImgUri":"","formulaImgStatus":"succeed"}" class="syl-plugin-formula"
Linux任务计划和周期性任务执行 常用选项:
-l查看作业队列,相当于atq
-f从某个指定文件文件中读取作业任务,不通过交互式输入 。
-d删除指定的作业任务,相当于atrm 。
-c查看指定作业具体内容 。
-qQUEUE指明队列 。
TIME时间格式有:
HH:MM小时:分钟例如04:00
HH:MM YYYY-MM-DD小时:分钟 年-月-日例如15:002017-11-25
HH:MM[am|pm][Month][Date]例如:04pm July 30
HH:MM[am|pm] + number [minutes|hours|days|weeks]在某个时间点再加几个时间后执行

推荐阅读