[crontab]請教有關crontab的問題 [論壇 - 伺服器架設]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



[crontab]請教有關crontab的問題
會員一級
註冊日期:
2018/9/19 10:28
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 0
MP : 0 / 9
EXP: 2
離線
各位前輩大家好,我是新手,最近我的伺服器出了奇怪的問題,煩請大家多多賜教,謝謝

我的環境有兩台安裝Ubuntu server 16.04的伺服器,分別是SSBF、SSBF1,SSBF1為備用伺服器

我在SSBF1的/etc/crontab加了這一行

59 23 * * 1-5 root /root/backup.sh

backup.sh的內容是從SSBF複製兩個資料夾的資料到SSBF1做備份(使用rsync指令),兩台主機採用samba伺服器連接


另外我確定我的SSBF1主機裡的/etc/cron.hourly資料夾裡面只有一個檔案,.placeholder而已

以這樣的設定,我預期每星期1~5的23:59分會執行備份指令(我檢查過,也確實有執行)

但是實際上我卻發現SSBF1每小時執行備份指令一次,請問除了/etc/cron.hourly這個地方以外,還有哪個地方可以設定每小時執行一次的設定嗎?我不確定是不是我不小心設定了每個小時執行一次的設定了,求高手救救我

2018/9/19 13:43
應用擴展 工具箱
回覆: [crontab]請教有關crontab的問題
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 37
HP : 0 / 901
MP : 671 / 29317
EXP: 6
離線
其實我也很久沒使用這個了,剛參考了一下下面個網址,複習一下

http://linux.vbird.org/linux_basic/0430cron.php#cron

執行


$ crontab -e



在我的系統「Ubuntu 18.04」,會用「vi」開啟。

編輯完儲存

會看到如下的訊息


crontab: installing new crontab




接著執行


$ crontab -l



就可以看到您剛剛編輯的內容

然後可以在「/var/spool/cron/crontabs」這個資料夾,看到每個使用者的設定檔


$ sudo ls /var/spool/cron/crontabs



可以執行下面指令


$ sudo cat /var/spool/cron/crontabs/$(whoami)



或是執行下面指令


$ sudo cat /var/spool/cron/crontabs/$(id -un)



就可以看到「crontab -l」顯示的內容。

================================================================================

## 簡易套件探索

執行下面指令,觀看「cron」這個套件,安裝那些檔案在系統上


$ dpkg -L cron | sort



顯示

/.
/etc
/etc/cron.d
/etc/cron.daily
/etc/cron.daily/.placeholder
/etc/cron.d/.placeholder
/etc/cron.hourly
/etc/cron.hourly/.placeholder
/etc/cron.monthly
/etc/cron.monthly/.placeholder
/etc/crontab
/etc/cron.weekly
/etc/cron.weekly/.placeholder
/etc/default
/etc/default/cron
/etc/init.d
/etc/init.d/cron
/etc/pam.d
/etc/pam.d/cron
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/cron.service
/usr
/usr/bin
/usr/bin/crontab
/usr/sbin
/usr/sbin/cron
/usr/share
/usr/share/bug
/usr/share/bug/cron
/usr/share/bug/cron/control
/usr/share/bug/cron/script
/usr/share/doc
/usr/share/doc/cron
/usr/share/doc/cron/changelog.Debian.gz
/usr/share/doc/cron/copyright
/usr/share/doc/cron/examples
/usr/share/doc/cron/examples/cron-stats.pl
/usr/share/doc/cron/examples/crontab2english.pl
/usr/share/doc/cron/examples/cron-tasks-review.sh
/usr/share/doc/cron/FEATURES
/usr/share/doc/cron/NEWS.Debian.gz
/usr/share/doc/cron/README
/usr/share/doc/cron/README.anacron
/usr/share/doc/cron/README.Debian
/usr/share/doc/cron/THANKS
/usr/share/doc/cron/TODO.Debian
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8
/usr/share/man/man8/cron.8.gz
/var
/var/spool
/var/spool/cron
/var/spool/cron/crontabs



執行下面指令 (這個技巧,可以參考之前寫的這篇)


$ dpkg -L cron | grep '/man/man.*/'



顯示


/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz



也就是可以執行下面指令,來觀看相關的文件說明


$ man 1 crontab

$ man 5 crontab

$ man 8 cron



================================================================================


$ ls /var/lib/dpkg/info/cron.* -1



顯示


/var/lib/dpkg/info/cron.conffiles
/var/lib/dpkg/info/cron.list
/var/lib/dpkg/info/cron.md5sums
/var/lib/dpkg/info/cron.postinst
/var/lib/dpkg/info/cron.postrm
/var/lib/dpkg/info/cron.preinst
/var/lib/dpkg/info/cron.prerm



這些檔案的功用,可以參考「Debian Wiki / MaintainerScripts」。

可以執行下面指令,觀看「/var/lib/dpkg/info/cron.postinst」這個檔案的內容


$ cat /var/lib/dpkg/info/cron.postinst




執行


$ dpkg-query --control-path cron



顯示


/var/lib/dpkg/info/cron.postinst
/var/lib/dpkg/info/cron.postrm
/var/lib/dpkg/info/cron.preinst
/var/lib/dpkg/info/cron.md5sums
/var/lib/dpkg/info/cron.prerm



這個技巧,可以參考之前寫的「這篇」。

================================================================================

更多套件探索技巧可以參考「[索引] 套件操作實務」,
或是參考最近的一篇「回覆」。

或是參考之前寫的「如何探索「Ubuntu」」。

================================================================================

不確定是否符合您的情況,以上提供參考

報告完畢


2018/9/19 14:41
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.