1.問題現象
最近使用vps的時候有記憶體洩漏問題,嚴重的時候vps會當機,這可能是我使用的一款開源軟體(kcptun)有bug所導致的,暫時找不到更好的軟體,我就想通過定時重啟vps的方法去釋放記憶體。定時重啟vps的命令用的是crontab,可以設定乙個重啟伺服器的任務:
(1)安裝crontab
yum install vixie-cron crontabs
chkconfig crond on
service crond start
(2)編輯定時任務設定
[root@localhost ~]# crontab -e
0 12 * * * /sbin/reboot
(3)重啟crontab
/etc/rc.d/init.d/crond stop
/etc/rc.d/init.d/crond start
(中午12點鐘重啟vps),可是到了12點鐘伺服器並沒有重啟。開始懷疑是crontab沒有正常啟動,反覆檢查並沒有發現問題。
2.問題分析
crontab任務執行依賴於時間,時間設定不對也可能導致任務無法正常執行。用「date」命令檢視當前系統時間
[root@localhost ~]# date
tue jul 18 00:00:30 clt 2017
發現vps上的時間和當前時間不對應。猜測時區可能不對,檢視當前時區:
[root@localhost ~]# date -r; date +%z
tue, 18 jul 2017 01:30:59 -0400
-0400
果然是用了別的時區,正常情況我們使用的是+
0800(東八區),而vps用別的時區估計是因為伺服器所在的位置是別的位置。
3.修改vps的時區
[root@localhost ~]# cp /usr/share/zoneinfo/asia/shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y
再次檢視當前的時區是否正確:
[root@localhost ~]# date -r; date +%z
tue, 18 jul 2017 13:34:58 +0800
+0800
檢視當前時間也和電腦的時間一致
[root@localhost ~]# date
tue jul 18 13:35:41 cst 2017
再次設定crontab的定時任務,vps可以按照設定的時間重啟了,至此問題完全解決。
oracle job 定時任務,定時執行
declare jobno number begin sys.dbms job.submit jobno,dayreport sysdate,trunc sysdate,mi 1 24 60 commit end 注 dayreport 為儲存過程名字 select from sys.user jo...
Mysql定時任務 定時執行操作
mysql屬於中小型資料庫系統,它的事件排程器event scheduler是在mysql 5.1才開始引入事件排程器是在 mysql 5.1 中新增的另乙個特色功能,可以作為定時任務排程器,取代部分原先只能用作業系統任務排程器才能完成的定時功能。事件排程器是定時觸發執行的,在這個角度上也可以稱作是...
Mysql定時任務 定時執行操作
mysql定時任務 定時執行操作 2010 02 12 來自 web技術之家 字型大小 大 中 小 摘要 本文介紹mysql定時任務 定時執行操作 mysql屬於中小型資料庫系統,它的事件排程器event scheduler是在mysql 5.1才開始引入事件排程器是在 mysql 5.1 中新增的...