我的代碼經常在開發修改,為了代碼的安全性,比如哪天誤刪了文件,或者哪天改錯東西了,可以恢復回來,我要搞代碼備份.備份代碼,我先做最簡單的,使用linux的定時機制加shell命令打包文件,每天按日期保存,保存最近7天的備份.
前期準備的命令
date命令,打印當前系統時間,加個參數+%F,打印格式化的全日期, date +%F. 命令替換符`` ,獲取到里面命令的返回值.
字符串中使用變量${變量名},例如echo "hi ${name}"
打包命令tar -czf 包名稱 *, c是create創建, z是gzip壓縮,f是file使用文件形式, 例如: tar -czf 1.tar.gz * 把當前目錄的所有文件打包到1.tar.gz中
解壓命令tar -xf 包名稱 , x是extract提取,例如:tar -xf 1.tar.gz
查找命令find / -mtime +10-exec rm {} /; mtime是modified time修改時間,單位是天, +10是10天以前;-exec是執行命令, -exec 命令 {} /;大括號會被當前查找的結果替換,/是固定的轉義用的.例如:find /root -mtime +10 -exec wc -l {} /; 統計10天前文件的行數
最終的腳本
#!/bin/base#定義備份文件路徑backupFilePath="/root/web";#定義備份文件名稱currentDate=`date +%F`;backupFileName="web_backup_${currentDate}.tar.gz";#定義需要備份的目錄sourceFileDir="/var/www/html/";#定義備份文件存儲的目錄destinationDir="/root/web/"#打包備份cd $sourceFileDir;tar -czf $backupFileName *;mv $backupFileName $destinationDir;#刪掉10天以前的文件find $destinationDir -mtime +10 -exec rm {} /;
開啟定時
編輯/etc/crontab文件
*/1 * * * * root sh /root/shell/backup.sh
分鐘 小時 天 月 周幾 用戶 命令,*/是每的意思
搭建SVN服務端
現在代碼可以按時自己打包保存一份,都是全部代碼一塊備份,現在我要搭建SVN服務器,可以按修改版本保留代碼,更加智能化.
安裝svn,使用命令,一句話yum install subversion.
安裝完成以后需要創建一個代碼倉庫,使用這個命令svnadmin create svnrepos/ 會在當前目錄創建一個svnrepos的目錄,這個就是倉庫的目錄.
配置SVN
倉庫建好了,現在去配置svn的用戶,進入到svnrepos/conf/目錄,這里有三個配置文件authz,passwd,svnserve.conf
1.配置svnserve.conf
authz-db = authz
password-db = passwd
按字面意思理解吧,應該是開啟驗證使用這兩個文件
2.配置authz
一組用戶,這組用戶可以讀寫
[groups]
svn_users=shihan1,shihan2
[/]
@svn_users= rw
3.配置passwd
這個是配置密碼
[users]
shihan1=aaabbbccc
shihan2=aaabbb
開啟SVN服務
使用命令svnserve -d -rsvnrepos/ -d是后臺服務 -r是使用目錄
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答