我们有些在Linux服务器中操作项目的时候,需要用到定期重启服务器释放内存,就好比有一个网友留言提到希望能写一篇关于自动重启服务器的教程。其实这类文章网上已经很多,我们随便搜索都可以找到,大部分都采用crontab定时执行命令的。
第一、安装Crontab
一般我们服务器都默认安装过的,直接执行第二步就可以,但是有些发行版是没有安装的,所以我们不管如何直接先安装一次,如果已经安装或者没安装过的,也无所谓。
1、centos版本 yum install vixie-cron crontabs
chkconfig crond on
service crond start
2、debian版本 apt-get install cron
/etc/init.d/cron restart
这里根据我们服务器的环境,然后安装crontab,且启动。
第二、编辑定时自动脚本 crontab -e
在ssh中执行脚本,然后编辑文件。 0 1 * * * /sbin/reboot
// 每天凌晨1时重启服务器
// 1代表小时数 0代表分钟数 可自由修改
// 举例:
//25 5 * * * /sbin/reboot 每天凌晨5时25分重启服务器
或者直接编辑/var/spool/cron/crontabs/root,加入指定时间和命令,命令可以加绝对路径或者可以不加,加入下面命令到文件最后: 0 1 * * * /sbin/reboot
丢进去这个脚本,表示每天凌晨1点重启服务器。编辑完毕之后:wq保存退出。
第三、保存退出重启生效 /etc/init.d/crond stop
/etc/init.d/crond start
/etc/init.d/cron restart
用第二种方法直接编辑crontab文件后无法使用上述两种命令,执行第三种命令即可!
这样执行后就可以生效,可以实现我们需要的定时自动重启服务器的功能。其实那朋友说每天需要登录后台重启也是不正确的,我们可以直接登录SSH,然后执行reboot重启,也没有您说的需要登录网站后台点击他的重启按钮。
第四、定期自动优化数据库
插入一下代码或者执行一下命令: 0 3 * * * mysqlcheck --auto-repair --optimize --all-databases -u(Username) -p(Password)
// 每天凌晨3时自动优化数据库
// 4代表小时数 0代表分钟数 可自由修改
// (username=用户名,password=密码)
加入完以后执行上述重启操作即可!