天天看點

java定時任務不執行_定時任務不執行問題(debian伺服器)

之前大都用linux,突然上手debian發現一些之前不大熟悉的問題

在此做下記錄:

場景:需要安裝每天定時執行一次配置定時任務,發現自己定時任務安裝天配置怎麼都不執行,分鐘可以執行

排除了定時任務本身未啟動問題

debian的定時任務的啟動日志需要單獨開啟,預設是沒有的,開啟後也買發現任何問題

偶爾看了下伺服器時間,當時就暈了,debian的伺服器時間預設用的時區非我們的東8區

1 安裝時間同步 apt-get install ntpdate

2 進行時間同步 ntpdate cn.pool.ntp.org

3 date -R 檢視

4 debian使用tzselect指令進行選擇修改時區

5 最後我們需要 vim /etc/profile 檔案修改下

export TZ='Asia/Shanghai'

export PATH=$JAVA_HOME/bin:$TZ:$PATH

6 source /etc/profile 使之有效

想着時間已經OK了,很欣喜,但是還是不起作用

原來 Debian裡設定時間由兩部分組成,localtime和timezone。平時直接用tzselect設定了時區後似乎能看到的時間都是正确的,也就忽略了localtime。但實際上crontab的執行時間是受localtime決定的

1 rm/etc/localtime

2 cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

重新開機cron

/etc/init.d/crond start   //啟動

/etc/init.d/crond stop    //關閉

/etc/init.d/crond restart //重新開機

到此為止我這邊已經OK了

網上有文檔說有的還不行可以考慮下

dpkg-reconfigure tzdata 其他網友驗證