PHP程序員玩轉(zhuǎn)Linux系列 自動(dòng)備份與SVN
PHP程序員玩轉(zhuǎn)Linux系列文章:
1.PHP程序員玩轉(zhuǎn)Linux系列-怎么安裝使用CentOS
2.PHP程序員玩轉(zhuǎn)Linux系列-lnmp環(huán)境的搭建
3.PHP程序員玩轉(zhuǎn)Linux系列-搭建FTP代碼開發(fā)環(huán)境
4.PHP程序員玩轉(zhuǎn)Linux系列-備份還原MySQL
我的代碼經(jīng)常在開發(fā)修改,為了代碼的安全性,比如哪天誤刪了文件,或者哪天改錯(cuò)東西了,可以恢復(fù)回來(lái),我要搞代碼備份.備份代碼,我先做最簡(jiǎn)單的,使用linux的定時(shí)機(jī)制加shell命令打包文件,每天按日期保存,保存最近7天的備份.
前期準(zhǔn)備的命令
date命令,打印當(dāng)前系統(tǒng)時(shí)間,加個(gè)參數(shù)+%F,打印格式化的全日期, date +%F. 命令替換符`` ,獲取到里面命令的返回值.
字符串中使用變量${變量名},例如echo "hi ${name}"
打包命令tar -czf 包名稱 *, c是create創(chuàng)建, z是gzip壓縮,f是file使用文件形式, 例如: tar -czf 1.tar.gz * 把當(dāng)前目錄的所有文件打包到1.tar.gz中
解壓命令tar -xf 包名稱 , x是extract提取,例如:tar -xf 1.tar.gz
查找命令find / -mtime +10-exec rm {} \; mtime是modified time修改時(shí)間,單位是天, +10是10天以前;-exec是執(zhí)行命令, -exec 命令 {} \;大括號(hào)會(huì)被當(dāng)前查找的結(jié)果替換,\是固定的轉(zhuǎn)義用的.例如:find /root -mtime +10 -exec wc -l {} \; 統(tǒng)計(jì)10天前文件的行數(shù)
最終的腳本
#!/bin/base
#定義備份文件路徑
backupFilePath="/root/web";
#定義備份文件名稱
currentDate=`date +%F`;
backupFileName="web_backup_${currentDate}.tar.gz";
#定義需要備份的目錄
sourceFileDir="/var/www/html/";
#定義備份文件存儲(chǔ)的目錄
destinationDir="/root/web/"
#打包備份
cd $sourceFileDir;
tar -czf $backupFileName *;
mv $backupFileName $destinationDir;
#刪掉10天以前的文件
find $destinationDir -mtime +10 -exec rm {} \;
開啟定時(shí)
編輯/etc/crontab文件
*/1 * * * * root sh /root/shell/backup.sh
分鐘 小時(shí) 天 月 周幾 用戶 命令,*/是每的意思
搭建SVN服務(wù)端
現(xiàn)在代碼可以按時(shí)自己打包保存一份,都是全部代碼一塊備份,現(xiàn)在我要搭建SVN服務(wù)器,可以按修改版本保留代碼,更加智能化.
安裝svn,使用命令,一句話yum install subversion.
安裝完成以后需要?jiǎng)?chuàng)建一個(gè)代碼倉(cāng)庫(kù),使用這個(gè)命令svnadmin create svnrepos/ 會(huì)在當(dāng)前目錄創(chuàng)建一個(gè)svnrepos的目錄,這個(gè)就是倉(cāng)庫(kù)的目錄.
配置SVN
倉(cāng)庫(kù)建好了,現(xiàn)在去配置svn的用戶,進(jìn)入到svnrepos/conf/目錄,這里有三個(gè)配置文件authz,passwd,svnserve.conf
1.配置svnserve.conf
authz-db = authz
password-db = passwd
按字面意思理解吧,應(yīng)該是開啟驗(yàn)證使用這兩個(gè)文件
2.配置authz
一組用戶,這組用戶可以讀寫
[groups]
svn_users=shihan1,shihan2
[/]
@svn_users= rw
3.配置passwd
這個(gè)是配置密碼
[users]
shihan1=aaabbbccc
shihan2=aaabbb
開啟SVN服務(wù)
使用命令svnserve -d -rsvnrepos/ -d是后臺(tái)服務(wù) -r是使用目錄

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解Linux運(yùn)維CentOS系統(tǒng)SVN雙備份Shell腳本
- linux svn服務(wù)器搭建、客戶端操作、備份與恢復(fù)
- Python實(shí)現(xiàn)SVN的目錄周期性備份實(shí)例
- 遠(yuǎn)程鏡像與備份SVN服務(wù)器的方法小結(jié)
- IntelliJ IDEA使用SVN分支的簡(jiǎn)單介紹
- Webstorm2017上SVN插件安裝的方法步驟
- Jenkins與SVN持續(xù)集成的示例代碼
- 詳解Eclipse安裝SVN插件的兩種方法
- 詳解IntelliJ IDEA中TortoiseSVN修改服務(wù)器地址的方法
- linux下svn版本控制的常用命令大全
- SVN服務(wù)備份操作步驟分享
相關(guān)文章
Ubuntu基礎(chǔ)設(shè)定:openssh-server的安裝和使用介紹
今天小編就為大家分享一篇關(guān)于Ubuntu基礎(chǔ)設(shè)定:openssh-server的安裝和使用介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01
在 Linux 中不使用 CD 命令進(jìn)入目錄/文件夾的方法
眾所周知,如果沒(méi)有 cd 命令,我們無(wú)法 Linux 中切換目錄。接下來(lái)通過(guò)本文給大家介紹了在 Linux 中不使用 CD 命令進(jìn)入目錄/文件夾的方法,需要的朋友可以參考下2019-04-04
深入理解Bash中的尖括號(hào)(適合初學(xué)者)
這篇文章主要給大家介紹了關(guān)于Bash中尖括號(hào)的相關(guān)資料,本文非常適合初學(xué)者,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
Linux內(nèi)核啟動(dòng)流程之start_kernel問(wèn)題
這篇文章主要介紹了Linux內(nèi)核啟動(dòng)流程之start_kernel問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
linux如何為一臺(tái)實(shí)例分配一個(gè)公網(wǎng)IP地址
在本篇文章中我們給大家分享了一篇關(guān)于linux如何為一臺(tái)實(shí)例分配一個(gè)公網(wǎng)IP地址的知識(shí)內(nèi)容,有需要的朋友們學(xué)習(xí)下。2018-10-10
CentOS基于nginx反向代理實(shí)現(xiàn)負(fù)載均衡的方法
這篇文章主要介紹了CentOS基于nginx反向代理實(shí)現(xiàn)負(fù)載均衡的方法,簡(jiǎn)單分析了CentOS環(huán)境下nginx負(fù)載均衡的原理及nginx安裝與相關(guān)設(shè)置操作技巧,需要的朋友可以參考下2018-04-04

