linux定时重启

  1. 使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行。
  2. crontab的一些命令
  • crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
  • crontab –l : 显示 crontab 文件。 无内容会提示为 no crontab for root
  • crontab -r : 删除 crontab 文件。
  • crontab -ir : 删除 crontab 文件前提醒用户。
  1. crontab 文件的格式
    minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
  • 在 凌晨00:01运行
    1 0 * * * /home/linrui/XXXX.sh

  • 每个工作日23:59都进行备份作业
    59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh
    或者如下写法:
    59 11 * * 1-5 /home/linrui/XXXX.sh

  • 每分钟运行一次命令
    */1 * * * * /home/linrui/XXXX.sh

  • 每个月的1号 14:10 运行
    10 14 1 * * /home/linrui/XXXX.sh

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
当第1列 为 * 时表示每分钟都要执行 program,第2列为 * 时表示每小时都要执行程式,其余类推
当第1列为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,第2列为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当第1列为 */n 时表示每 n 分钟个时间间隔执行一次,第2列 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当第1列为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,第2列 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

  1. 编辑配置的方式
    可以通过-e进入crontab的配置文件,加入
    0 0 * * * /home/linrui/XXXXXXXX.sh //这将会在每天凌晨运行 指定的.sh文件
    或者
    30 21 * * * /usr/local/etc/rc.d/lighttpd restart //每晚的21:30重启lighttpd

  2. 实例

实现每天凌晨4:00重启ss

重启脚本 restartSS.sh

#!/bin/sh
#restart ss server

sspid=`ps -ef | grep "shadowsocks" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo "ss server pid is : $sspid"
if [ "$sspid" == "" ]            #判定sspid为空注意[]中的空格,严格
then
echo "ss server not alive!"
else
kill -9 $sspid
echo "pid $sspid is killing..."
sleep 5
fi
echo "now restarting ss server..."
ssserver -c /etc/shadowsocks.json -d start
echo "done!"

加入一条定时配置

30 4 * * * /usr/ssConfig/restartSS.sh  //如果慢12个小时就是 30 16 .....了

最后重启crontab,使重启功能生效
service crond restart

转载于:https://my.oschina.net/u/3157269/blog/3023421

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值