svn備份腳本linux
⑴ SVN怎麼備份
svn自帶了備份機制,至少有兩種方式:x0dx0a1、使用svnsync指令,將源SVN伺服器上的版本庫同步到備份SVN伺服器去(增量同步),一般和post-commit鉤子結合使用,在post-commit這個鉤子中設定每次commit時自動執行一次同步操作。x0dx0a2、使用svnadminhot指令,將SVN伺服器上的版本庫備份到某個文件夾(可以是整庫備份,也可以是增量備份),可以與post-commit鉤子結合使用,也可以用操作系統的定時任務來調用。x0dx0ax0dx0a其它還有比如開源軟體freefilesync,也可以實現源文件夾和目標文件夾之間的同步,可以設定同步操作的間隔時間,也可以實現備份,用起來也比較簡單。x0dx0ax0dx0a當然,最省事的方法莫過於安裝CollabnetSVNEdge版SVN伺服器,這個SVN伺服器安裝包的安裝配置都很省心,基本一個安裝包裝完就能用,自帶了SVN伺服器控制台,通過控制台就可以配置進行SVN庫的備份。
⑵ 怎樣把linux上SVN備份到另外一台上
如果不要求增量備份的話,把伺服器上存放版本庫的整個文件夾復制到另一台機器就行了
如果要求增量備份的話,先在另一台機器上架設SVN伺服器,創建一個空的版本庫,通過svnsync init指令將此版本庫和源版本庫關聯,然後設置一個定時任務,定時執行svnsync sync指令,實現定時將最新內容同步到另一台機器上。
⑶ linux下SVN完全備份提示報錯
可在svn log命令後加個選項」 -v「,最好同時再加上一個選項」-r <RIVISION>「指定某次提交的更改。 其他選項可以參考」svn help log「。
⑷ linux下備份文件
其實不管是linux系統還是windows系統,重要文件都是需要進行備份的,備份也分兩種手動或者自動,那麼在linux下如何自動備份文件呢?下面來跟大家分享一下。
1、首先新建一個腳本文件,輸入touch /home/backup.sh,點擊回車鍵。
2、打開剛剛創建的腳本文件,輸入vi /home/backup.sh,點擊回車鍵。
3、輸入:
#!/bin/bash
date_time=`date +"%Y%m%d%H%M"`
backup_dir=/www/backup
backup_log=/data/backup/svn_backup_logs/backup.log
err_log=/data/backup/svn_backup_logs/err.log
echo -e "\033[33m--------------------------------------\033[0m" >> ${backup_log}
echo -e `date +"%Y-%m-%d %H:%M"` >> ${backup_log}
echo -e "Starts backing up openvpn...." >> ${backup_log}
cd /opt
zip -r ${backup_dir}/vpn_${date_time}.zip svn 1>/dev/null 2>>${err_log}
if [ "$?" -ne 0 ];then
echo -e "\033[31svn backup failed!\033[0m" >> ${backup_log}
echo -e "\033[33m--------------------------------------\033[0m" >> ${backup_log}
echo -e "\n" >> ${backup_log}
echo -e "at ${date_time} packaged svn file error" >> ${err_log}
echo -e "\n" >> ${err_log}
其中date_time:備份時間;backup_dir:備份到那個目錄;backup_log:備份成功的log文件;err_log:備份失敗的log文件;這些根據需要進行修改。
4、保存後運行該腳本,首先cd到腳本所在的文件夾,輸入cd /home,點擊回車鍵。
5、輸入./backup.sh,點擊回車鍵即可運行腳本。
6、在linux下這種備份方法還是挺簡單的,那如果換成windows操作系統,如果我們想定時備份文件該如何操作呢,有的運營會選擇使用windows server backup,但是由於這個功能創建備份計劃時只能夠創建一個,小編所在的公司是放棄的,直接使用了備份軟體來操作,下面就以大勢至server文件備份軟體來設置下備份供大家參考下。
7、網路下載該系統,解壓後進行安裝,安裝完成後返回桌面找到快捷方式,雙擊打開,根據提示輸入帳號admin和密碼123,點擊確定。
8、在主界面中部找到並點擊新增計劃,在彈出的窗口中找到源備份路徑,點擊其後的瀏覽,選中需要備份的文件或者文件夾,點擊確定。
9、在後方備份目標路徑中輸入備份保存的路徑,這里可以是本地路徑也可以是遠程伺服器路徑,如果是遠程伺服器路徑則在點擊添加後需要輸入遠程伺服器帳號和密碼,點擊確定。
10、在左側菜單中點擊備份開始時間,在右側設置備份開始的日期和時間。
11、在左側菜單中點擊全量備份頻率,在右側勾選全量備份啟用,然後設置備份頻率。
12、在左側菜單中點擊增量備份頻率,在右側勾選增量備份啟用,最後設置增量備份的備份頻率。
13、在左側菜單中點擊備份數據清理,在右側設置清理的周期,最後點擊保存,計劃創建完成,如果需要創建多個備份計劃,通過相同的設置方法繼續設置即可。
⑸ linux 怎麼增量備份svn伺服器
如果是每天備份的話,在SVN伺服器上做個定時任務,到每天半夜沒人幹活的時候啟動執行,通過定時任務調用自動備份的批處理,批處理裡面要麼用svn hot,要,
⑹ svn伺服器備份svnsync命令怎麼用
有較多參數命令,可在命令行輸入 svnsync help來查看;網上相關實例蠻多,可網路下。
使用svnsync備份很簡單,只有四個步驟,在這里和大家簡單介紹一下,希望通過本節的學習大家能夠掌握使用svnsync命令對SVN庫進行備份的方法。
下面是具體的備份步驟:
一、在備份機上創建一個空庫:svnadmincreateSMP
二、更改該庫的鉤子腳本pre-revprop-change(因為svnsync要改這個庫的屬性,也就是要將源庫的屬性備份到這個庫,所以要啟用這個腳本):
cdSMP/hooks;
cppre-revprop-change.tmplpre-revprop-change;
chmod755pre-revprop-change;
vipre-revprop-change;
將該腳本後面的三句注釋掉,或者乾脆將它弄成一個空文件。
三、初始化,此時還沒有備份任何數據:
svnsyncinitfile:///home/backup/svn/svnsync/SMP/http://svntest.subversion.com/repos/SMP
語法是:svnsyncinit{你剛創建的庫url}{源庫url}
注意本地url是三個斜杠的:///
四、開始備份SVN庫:
svnsyncsyncfile:///home/backup/svn/svnsync/SMP
這是就一個個版本進行備份了。我們來看一下SVN庫備份過程中可能出現的錯誤。
附錄:
可能的報錯一:
,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' svnsync:Couldn'
這個時候可能屬性被鎖了,刪掉屬性:svnpropdelsvn:sync-lock--revprop-r0file:///home/backup/svn/svnsync/SMP
刪除成功後,再試一遍基本就可以了。如果反復操作都是同樣錯誤的話,有可能是你的svn安裝的有問題,重新安裝一遍就好了,俺就是這樣。
可能報錯二、
svnsync:REPORTrequestfailedon'http://svn1.subversion.com/repos/Relevance'
svnsync:Therequestedreportisunknown.這是因為你源庫的版本太低了,svnsync所需要的函數Report是svn1.4後加入的。沒辦法,對你的SVN庫進行升級後才能備份。
⑺ 從網上找的一個 svn 全量備份的腳本大神看看有沒有問題,可以解釋一下是什麼意思嗎
並非大神~看了下大概是這個意思
#!/bin/bash
#write by zhangpengfei, 2016-05-17
cd /opt/svn
now='/bin/date +%Y%m%d'
#記錄當前時間
/bin/tar czvf "mall_backup_$now.tar.gz" project/ && rm -rf /opt/mall_backup/* && /bin/mv mall_backup_*.tar.gz /opt/mall_backup/
#將project目錄下的全部文件打包成mall_backup_$now.tar.gz,以時間$now來命名,第一個&&:並且刪除備份目錄/opt/mall_backup下老的備份;
第二個&&:將打包後的文件移動到備份目錄/opt/mall_backup下<這一步應該可以在打包的時候就指定路徑>)
if [ $? == 0 ]
then
result="OK!!"
else
result="False!!"
fi
#判斷執行是否成功了
#send mail to administrator
#郵件提醒
/bin/mail [email protected] -s "mall_backup_$now" <<MESSAGE
Result: '/bin/echo $result'
MESSAG
⑻ 如何將windows上svn庫遷移到linux 用戶分組及許可權怎麼移植
方法一,要求linux下的svn版本比windows的一致或者更高,然後直接將倉庫復制過去,檢查一下可用即可。這個最快。 方法二,用svnadmin mp和svnadmin load命令。 方法三,用svnsync命令,可以熱備份
⑼ SVN怎樣去備份,用bat腳本去備份和相關的步驟求教育
SVN的備份至少有兩種方式:
1、利用svnsync,把要備份的版本庫同步到另一台SVN伺服器上
2、利用svn hot,把要備份的版本庫備份到同一台伺服器的其他文件夾中
條件許可的話,建議使用第一種方式,畢竟安全系數更高些,不怕伺服器硬體故障。
使用第一種方式的話,按如下步驟:
1、在備份用SVN伺服器上,建立一個新的空版本庫。
2、在備份用空版本庫的hooks文件夾中新建一個文本文件,其中寫入一行「exit 0」,重命名為pre-revprop-change.bat。
3、在備份伺服器上命令行執行:
svnsync init 備份版本庫訪問url 源版本庫訪問url --sync-username 備份版本庫用戶名 --sync-password 備份版本庫用戶密碼 --source-username 源版本庫用戶名 --source-password 源版本庫用戶密碼
4、在源伺服器上相應版本庫的hooks文件夾中增加一個post-commit.bat(如果是windows操作系統的話),裡面寫上兩行內容:
svnsync sync 備份版本庫訪問url --sync-username 備份版本庫用戶名 --sync-password 備份版本庫用戶密碼 --source-username 源版本庫用戶名 --source-password 源版本庫用戶密碼
svnsync -revprops 備份版本庫訪問url --sync-username 備份版本庫用戶名 --sync-password 備份版本庫用戶密碼 --source-username 源版本庫用戶名 --source-password 源版本庫用戶密碼
如果以上操作都正常無誤的話,這時就設置成功了,每次發生commit操作,都會自動將源版本庫的內容同步到備份版本庫中。
⑽ Linux 下的SVN該如何進行備份
可以使用騰訊手機管家備份,
它的備份速度很省時間,而且之後很完整的還原到電腦或者手機里了
我是挺信任這個得,而且就算換手機也不怕
隨時都可以還原到你的新手機里,資料肯定也不會丟失的。