国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Ubuntu下定時提交代碼到SVN服務器的Shell腳本分享

2019-10-26 18:44:57
字體:
來源:轉載
供稿:網友

有兩個用途,一是偷懶不用去提交代碼,二是在遠程服務器上使用以作定期備份。
代碼如下:
sudo gedit /etc/crontab

打開后加入這行
代碼如下:
0 * * * * my_user_name    my_script_path

表示每個整點以my_user_name身份執行my_script_path。這里最好是使用當前的用戶名,修改掉默認的root,否則可能以root身份會提交失敗。詳情請詢問百度crontab的用法。

然后script的內容為:

代碼如下:
#!/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切換用戶,改成:
代碼如下:
#!/bin/bash
su - your_user_name <<EOF
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'
EOF

也可以不修改/etc/crontab,而是把腳本 復制 或 軟鏈接 到 /etc/cron.hourly/ 下,腳本應用su切換用戶,改成
代碼如下:
#!/bin/bash
su - your_user_name <<EOF
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'
EOF

默認是每個小時的第17分鐘執行。類似的,還有weekly、monthly、daily 文件夾。

關于定時備份服務器上的網頁文件,會有兩種意見,其優劣如下:
1.腳本定時commit(每個整點):開發人員可以隨時修改服務器上的文件并立刻生效,不用關心備份工作。
2.腳本定時update(每隔30秒):可防止文件多人同時修改的沖突;需要本地搭建服務器環境,調試ok后才上傳,否則commit后都得等一段時間,服務器才用上新代碼。
以人為本的工作環境就是讓人能偷懶就偷懶、讓做事能便捷就便捷。能保證不會多人同時修改而產生沖突的話,選擇第一種~~~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锡林郭勒盟| 清丰县| 扎鲁特旗| 凉城县| 习水县| 井冈山市| 永年县| 永仁县| 白沙| 东丰县| 晋城| 托里县| 元谋县| 开封县| 常山县| 深泽县| 金川县| 桦南县| 扎赉特旗| 黔江区| 万全县| 永新县| 攀枝花市| 静乐县| 穆棱市| 漳平市| 荆门市| 沾益县| 芦山县| 东源县| 潍坊市| 舒兰市| 曲周县| 长丰县| 尚义县| 衡阳市| 安西县| 张家川| 张家川| 习水县| 淮南市|