我裝了centos,用一點一直無法搞定,就是定時關機。我只是想做這一件事:
每天凌晨1點自動關機
0 1 * * * shutdown now -h
然而,無論我如何設置,都是失敗.
每當我睡了一覺,第二天起床,發現機器還開着……我准備放棄了。
突然發現,這樣寫的腳本是可以運行的
* * * * * echo "hello world"
我只好改成寫python腳本來完成
* * * * * python /etc/root/shutdown.py
大概是這個樣子:
#!/usr/bin/env python
#--coding:utf-8--
from datetime import datetime
import os
checkTime = datetime(2017,05,18,7,28)
currentTime = datetime.now().time()
currentTime = datetime(2017,05,18,currentTime.hour,currentTime.minute)
timeSpan = currentTime - checkTime
print(currentTime)
print(checkTime)
print(timeSpan)
print(timeSpan.total_seconds())
if timeSpan.total_seconds() > 0 and timeSpan.total_seconds() <120:
os.system("shutdown now -h")
每分鍾都去看看現在是凌晨1點多嗎?如果是,就關機。。。
然后,始終覺得哪里不對。
修復方法
突然想起來看看當前的時間
date
原來是時區的問題,默認的好像是UTC(現在我不記得了)
時區改成上海,就解決了。
timedatectl list-timezones | grep Asia
timedatectl set-timezone Asia/Shanghai
date
Fri May 19 22:27:01 CST 2017
原來,如果你的crontab也沒有按時執行,你還得檢查檢查看看你當前的時區在哪里啊?
時間同步
為了時間不亂,還是裝上ntpd好了。
wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p10.tar.gz
tar -zxvf ntp-4.2.8p10.tar.gz
cd ntp-4.2.8p10
./configure
make
make install
看看ntpd版本
ntpd --version
ntpd 4.2.8p10@1.3728-o Fri May 19 14:52:55 UTC 2017 (1)
試試crontab同步,每周一次就行了。
* * * * 0 ntpdate 0.asia.pool.ntp.org & hwclock -w
