使用 crontab
sudo crontab -e
開啟後加入這行
[plain]view
plain
copy
0 * * * * my_user_name my_script_path
表示每個整點以my_user_name身份執行my_script_path。這裡最好是使用當前的使用者名稱,修改掉預設的root,否則可能以root身份會提交失敗。
然後script的內容為:
[plain]view
plain
copy
#!/bin/bash
cd $my_code_path
# 新增所有新檔案
svn st | grep "? \+" | sed "s/? \+//" | xargs svn add
# 刪除所有本地缺失的檔案
svn st | grep "! \+" | sed "s/! \+//" | xargs svn delete
# 提交
svn ci -m 'auto commit by script'
也可以不修改/etc/crontab,而是把指令碼 複製 或 軟鏈結 到 /etc/cron.hourly/ 下,指令碼應用su切換使用者,改成
[plain]view
plain
copy
#!/bin/bash
su - your_user_name
# 新增所有新檔案
svn st | grep "? \+" | sed "s/? \+//" | xargs svn add
# 刪除所有本地缺失的檔案
svn st | grep "! \+" | sed "s/! \+//" | xargs svn delete
# 提交
svn ci -m 'auto commit by script'
eof
預設是每個小時的第17分鐘執行。類似的,還有weekly、monthly、daily 資料夾
關於定時備份伺服器上的網頁檔案,會有兩種意見,其優劣如下:
linux 下 定時任務
crontab e 新建 編輯乙個任務 crontab l 列出所有任務 crontab 格式 基本格式 command 分鐘 小時 日 月 星期 命令 第1列表示分鐘1 59 每分鐘用 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列 表示月份1 12 第5列標識號星期0...
Linux下定時任務
在linux下我們用crontab來實現定期執行指令碼。檢視crontab 輸入命令 cat etc crontab crontab u 設定特定使用者的定時服務 crontab l 列出當前使用者定時服務內容 crontab r 刪除當前使用者的定時服務 crontab e 編輯當前使用者的定時服...
Linux下定時器使用
linux下的定時器有兩種,以下分別介紹 1 alarm 如果不要求很精確的話,用 alarm 和 signal 就夠了 unsigned int alarm unsigned int seconds 專門為sigalrm訊號而設,在指定的時間seconds秒後,將向程序本身傳送sigalrm訊號,...