利用crontab定時重啟centos


起因

前一段買了aliyun的ecs的最低配版,大概配置是centos 7,512內存,20G空間。
部署了幾個站點,雖然網站已經做了一定的靜態化,但還是會出現內存不夠用的情況,這個時候,系統會停掉一些進程,如殺掉了mysql,導致部分站點功能運行不起來。我想解決方法有這幾個:

  • 買高配置的服務器
  • 優化代碼程序
  • 優化部署
  • 定時重啟服務器,釋放內存資源
    考慮了一下,最后選擇了最簡便的方法,定時重啟服務器,釋放內存資源

Crontab

Crontab是一個很方便的在unix/linux系統上定時(循環)執行某個任務的程序使用cron服務,用 service crond status 查看 cron服務狀態,如果沒有啟動則 service crond start啟動它。

在終端輸入,man 5 crontab 查看 crontab 說明,或者直接編輯crontab文件,vi /etc/crontab,會看到一個crontab的例子:

# Example of job definition:
# .---------------- 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
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

不指定具體的時間用*號替代,用空格區分時間參數,最后是到時要執行的操作。
如:在 12 月內, 每天的早上 6執行一次/usr/bin/backup :

0 6 * 12 * /usr/bin/backup 

完成

在/etc/crontab文件中添加代碼,或者crontab -e創建或編輯cron服務:

# 每天零時零點重啟系統
0 0 * * * /sbin/shutdown -r now

/sbin/shutdown -r now是立即重啟的命令。
重啟crond服務完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM