一、定时执行shell.sh脚本
1、环境描述:在 /home/software/shellfile 目录下,本人编写有shell.sh脚本,
2、手动执行命令:sh /home/software/shellfile/shell.sh>> /home/software/shellfile/test.log
或 :sh /home/software/shellfile/shell.sh> /home/software/shellfile/test.log
3、注意:其中“>> ”符号表示打印执行日志到test.log文件,如果/home/software/shellfile该目录下存在该文件,不会覆盖原来存在的test.log文件,其中“> ”符号表示覆盖打印执行日志到test.log文件,如果/home/software/shellfile该目录下存在该文件,则覆盖打印最新的日志。(推荐使用第二种)
4、定时(中午1点10分执行)任务执行语句sh /home/software/shellfile/shell.sh>> /home/software/shellfile/test.log
注意:该内容保存在etc目录的crontab文件里面,必须是这个文件,若想定时执行多个shell脚本,只需要加入执行语句即可。对文件内容编辑如下:[root@ ~]# vi /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # 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 10 1 * * * root sh /home/software/shellfile/shell01.sh> /home/software/shellfile/test1.log 30 2 * * * root sh /home/software/shellfile/shell02.sh> /home/software/shellfile/test2.log 15 3 * * * root sh /home/software/shellfile/shell03.sh> /home/software/shellfile/test3.log
crontab内容表示
10 1 * * * root sh /home/software/shellfile/shell01.sh> /home/software/shellfile/test1.log 在凌晨1:10执行该shell01.sh脚本并打印日志到test1.log文件
30 2 * * * root sh /home/software/shellfile/shell02.sh> /home/software/shellfile/test2.log 在凌晨2:30执行该shell02.sh脚本并打印日志到test2.log文件
15 3 * * * root sh /home/software/shellfile/shell03.sh> /home/software/shellfile/test3.log 在凌晨3:15执行该shell03.sh脚本并打印日志到test3.log文件4、保存之后,执行定时任务运行命令:service crond reload
[root@ etc]# service crond reload
5、备注说明:
# .---------------- 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下面的6个*分别代表:分钟、小时、天数、月份、 周几