Centos
為什麼我每天設置一次 crontab 執行兩次?
我將 CentOS 用於 Wordpress 網路伺服器。我想要每天備份一次媒體和 SQL,所以我編輯 crontab 如下:
[john@cent ~]$ crontab -e TZ=Asia/Ho_Chi_Minh 15 3 * * * /bin/sh /home/john/deploy/job/backup-mysql.sh 2>&1 >> /home/john/deploy/job/log/backup-mysql.log 30 3 * * * /bin/sh /home/john/deploy/job/backup-media.sh 2>&1 >> /home/john/deploy/job/log/backup-media.log
我的意思是每天執行一次這些工作,但實際上執行兩次:
[john@cent ~]$ cd deploy/mediadump/ [john@cent mediadump]$ ls 07-08-2015_03.30.01.uploads.tar.gz 07-08-2015_14.38.01.uploads.tar.gz 08-08-2015_03.30.01.uploads.tar.gz 08-08-2015_14.38.01.uploads.tar.gz 09-08-2015_03.30.01.uploads.tar.gz 09-08-2015_14.38.01.uploads.tar.gz
我做錯了什麼?
更新 sqldump 作業與 mediadump 執行相同。我列出了文件,正如@lain 和@Paul 建議的那樣,再次檢查日誌文件,我意識到 root 使用者在 14:38 為媒體執行作業,在 14:36 為 sql 執行作業:
[root@cent datadump]# ls -l -rw-r--r-- 1 john john 2391638 Th08 7 03:15 07-08-2015_03.15.01.sql -rw-r--r-- 1 root root 2437070 Th08 7 14:36 07-08-2015_14.36.01.sql -rw-r--r-- 1 john john 2560015 Th08 8 03:15 08-08-2015_03.15.01.sql -rw-r--r-- 1 root root 2667435 Th08 8 14:36 08-08-2015_14.36.01.sql -rw-r--r-- 1 john john 2618756 Th08 9 03:15 09-08-2015_03.15.01.sql -rw-r--r-- 1 root root 2928775 Th08 9 14:36 09-08-2015_14.36.01.sql
以前,我通過編輯 /etc/crontab 的方式在 root 使用者上測試了 crontab。在切換到 John 執行所需的工作之前,我忘記了清除該文件。我修好了。非常感謝@lain,@Paul Haldane。
您似乎正在與兩個不同的使用者執行相同的作業。日誌文件應該能夠幫助您追踪它。轉儲文件上的時間戳確認多個使用者。