溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)在Ubuntu下定時(shí)提交代碼到SVN服務(wù)器的Shell腳本

發(fā)布時(shí)間:2021-09-28 14:12:15 來源:億速云 閱讀:113 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“如何實(shí)現(xiàn)在Ubuntu下定時(shí)提交代碼到SVN服務(wù)器的Shell腳本”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何實(shí)現(xiàn)在Ubuntu下定時(shí)提交代碼到SVN服務(wù)器的Shell腳本”吧!

有兩個(gè)用途,一是偷懶不用去提交代碼,二是在遠(yuǎn)程服務(wù)器上使用以作定期備份。

代碼如下:

sudo gedit /etc/crontab


打開后加入這行

代碼如下:

0 * * * * my_user_name    my_script_path

表示每個(gè)整點(diǎn)以my_user_name身份執(zhí)行my_script_path。這里最好是使用當(dāng)前的用戶名,修改掉默認(rèn)的root,否則可能以root身份會(huì)提交失敗。詳情請?jiān)儐柊俣萩rontab的用法。

然后script的內(nèi)容為:

代碼如下:

#!/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,而是把腳本 復(fù)制 或 軟鏈接 到 /etc/cron.hourly/ 下,腳本應(yīng)用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,而是把腳本 復(fù)制 或 軟鏈接 到 /etc/cron.hourly/ 下,腳本應(yīng)用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

默認(rèn)是每個(gè)小時(shí)的第17分鐘執(zhí)行。類似的,還有weekly、monthly、daily 文件夾。

關(guān)于定時(shí)備份服務(wù)器上的網(wǎng)頁文件,會(huì)有兩種意見,其優(yōu)劣如下:
1.腳本定時(shí)commit(每個(gè)整點(diǎn)):開發(fā)人員可以隨時(shí)修改服務(wù)器上的文件并立刻生效,不用關(guān)心備份工作。
2.腳本定時(shí)update(每隔30秒):可防止文件多人同時(shí)修改的沖突;需要本地搭建服務(wù)器環(huán)境,調(diào)試ok后才上傳,否則commit后都得等一段時(shí)間,服務(wù)器才用上新代碼。

到此,相信大家對“如何實(shí)現(xiàn)在Ubuntu下定時(shí)提交代碼到SVN服務(wù)器的Shell腳本”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI