一、背景
例如有些业务需要实时将数据上传某一平台,在断网情况下,先保存缓存或其他地方,待网络正常情况下补偿上传。实际在测试过程当中,需要模拟这种场景,那么可不可以模拟隔一段时间自动断网,一段时间后自动启动网络,当然可以,这个不然,我们定时关闭网卡,重启网卡就可以了。
二、实现步骤
1、编写shell脚本
2、将脚本放入系统的定位任务管理器当中
每天0点到7点,每隔10分钟运行一次脚本,停止10S
*/10 0-7 * * * /home/script/restartnetwork.sh
3、检查日志看是否运行
一、 cron在3个地方查找配置文件(设置shell脚本):
1、/var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对应的文件就是/var/spool/cron/tom
yanggang@barry$ sudo ls -l /var/spool/cron/(或有时是 /var/spool/cron/crontabs/)
-rw------- 1 root crontab 1071 2011-09-19 17:20 root
-rw------- 1 yanggang crontab 1176 2011-09-24 11:07 yanggang
一般一个用户最多只有一个crontab文件(如:root, yanggang等),其对应日志在/var/spool/mail/root(或/var/spool/mail/yanggang)文件里
2、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/
# .---------------- 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 * * * * root /usr/libexec/atrun
minute:代表一小时内的第几分,范围 0-59。
hour:代表一天中的第几小时,范围 0-23。
mday:代表一个月中的第几天,范围 1-31。
month:代表一年中第几个月,范围 1-12。
wday:代表星期几,范围 0-7 (0及7都是星期天)。
who:要使用什么身份执行该指令,当您使用 crontab -e 时,不必加此字段。
command:所要执行的指令。