由于需要,所以使用了crontab进行定时执行shell脚本。

要使用定时任务,首先需要编写要执行的命令的shell脚本,例如现在需要在早上9点启动VPN服务,下午6点停止,以保持带宽的稳定。

分2个步骤:

1),shell脚本,必须增加可执行权限
脚本1文件名:/home/shell/pptpd_stop.sh,若是有路径请使用绝对路径

/etc/init.d/pptpd stop

脚本2文件名:/home/shell/pptpd_start.sh,若是有路径请使用绝对路径

/etc/init.d/pptpd start

2),编写crontab文件,任意文件名:/home/shell/pptpcron
9点启动,18点关闭,具体crontab用法查看命令帮助或者上网

#命令格式
#分钟 小时 日 月 周 命令
[MAILTO=""]
00 9 * * * /home/shell/pptpd_start.sh > /dev/null 2>&1
00 18 * * * /home/shell/pptpd_stop.sh > /dev/null 2>&1

crontab文件和.sh文件中若是有路径请使用绝对路径,否则可能提示错误信息“loaded collections.OrderedDict”。

“== > /dev/null 2>&1==”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。若是需要输出错误日志,可以输出“== > /dirname/temp.log==”
*

接着提交/home/shell/pptpcron到crontab任务:

crontab /home/shell/pptpcron

补充:

查看定时任务:

crontab -l[小写L]

查看crontab是否运行

service crontab status

end.