首先定时重启服务器其实相当于重启电脑,我是在运维朋友的指导下进行设置成功的,是通过crond服务以及crontab脚本设置的
1.root用户下进入阿里云服务器内部,使用
crontab -l
命令,查看目前已有的定时任务,若执行该命令之后显示no crontab for root ,并且保证crontab已经安装成功,那么执行第二步骤
2.在root用户下输入crontab -e进行编辑模式,然后并不用编辑,按ESC,并键入:wq即可,然后在执行crontab -l即可查看,无法查看的原因是Linux服务器是第一次使用crontab,还没有生成对应的文件,进行crontab -e进行编辑之后就可以了
3.然后通过crontab -e进行编辑,写下定时重启的脚本
//每天的下午1点18重启
18 13 * * * /sbin/reboot
这个定时任务应该是cron表达式,依次是“秒分时日月周年”,不知道这里为什么是五位,应该是可以省略吧。到这里定时重启电脑已经可以了,下面就是启动服务
4.因为我的服务基本在docker中,所以只需要通过命令将docker服务以及docker容器设置为随服务器启动而启动
设置docker服务开机自启:
systemctl enable docker
5.设置docker容器开机自启,这里也是使用命令进行容器的设置
docker update --restart=always 容器名称或者容器id
//例如我的容器mysql3306
docker update --restart=always mysql3306
这样就可以了,当服务器重启的时候里面的容器都会启动,但是这样有一个弊端,对于那些非docker容器的可能需要很复杂的方法去重启,那么这个时候可以写一个脚本放在/etc/rc.d目录下面,这是朋友告诉我的,我没有测试,这里就不说了