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ì)提交失敗。詳情請(qǐng)?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)頁(yè)文件,會(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ù)器才用上新代碼。
以人為本的工作環(huán)境就是讓人能偷懶就偷懶、讓做事能便捷就便捷。能保證不會(huì)多人同時(shí)修改而產(chǎn)生沖突的話,選擇第一種~~~
相關(guān)文章
Shell腳本獲取國(guó)內(nèi)各大運(yùn)營(yíng)商網(wǎng)段腳本分享
這篇文章主要介紹了Shell腳本獲取國(guó)內(nèi)各大運(yùn)營(yíng)商網(wǎng)段腳本分享,本文使用亞太地區(qū)網(wǎng)絡(luò)信息記錄作為數(shù)據(jù)源,然后使用Shell腳本分析國(guó)內(nèi)的網(wǎng)段,需要的朋友可以參考下2014-12-12shell子進(jìn)程多任務(wù)實(shí)現(xiàn)進(jìn)程高并發(fā)
本文主要介紹了shell子進(jìn)程多任務(wù)實(shí)現(xiàn)進(jìn)程高并發(fā),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07shell腳本從SVN推送到多臺(tái)服務(wù)器的代碼
shell 腳本從SVN推送到多臺(tái)服務(wù)器,需要的朋友可以參考下2013-02-02如何利用shell開發(fā)keepalived啟動(dòng)腳本
Keepalived軟件起初是專為L(zhǎng)VS負(fù)載均衡軟件設(shè)計(jì)的,用來(lái)管理并監(jiān)控LVS集群系統(tǒng)中各個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),后來(lái)又加入了可以實(shí)現(xiàn)高可用的VRRP功能。這篇文章主要介紹了使用shell開發(fā)keepalived啟動(dòng)腳本,需要的朋友可以參考下2020-03-03