PHP程序員玩轉Linux系列文章:
1.PHP程序員玩轉Linux系列-怎么安裝使用CentOS
我的代碼經常在開發修改,為了代碼的安全性,比如哪天誤刪了文件,或者哪天改錯東西了,可以恢復回來,我要搞代碼備份.備份代碼,我先做最簡單的,使用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天前文件的行數
最終的腳本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/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是使用目錄
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/taoshihan/p/6515962.html