Linux 下定時提交SVN

2022-08-21 17:27:08 字數 1147 閱讀 4550

使用 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訊號,...