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)文章
阿里云服務(wù)器CentOS 6.3下快速安裝部署 LAMP 、vsftpd 環(huán)境的方法
這篇文章主要介紹了阿里云服務(wù)器CentOS 6.3下快速安裝部署 LAMP 、vsftpd 環(huán)境的方法的相關(guān)資料,需要的朋友可以參考下2016-02-02Vscode遠(yuǎn)程連接Ubuntu出錯(cuò)問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Vscode遠(yuǎn)程連接Ubuntu出錯(cuò)問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10CentOS系統(tǒng)中PHP和MySQL的升級(jí)方法
yum是CentOS系統(tǒng)自帶的用于方便地添加/刪除/更新RPM包的工具,它能自動(dòng)解決包的倚賴性問(wèn)題。2010-06-06圖文詳解Ubuntu搭建Ftp服務(wù)器的方法(包成功)
今天小編就為大家分享一篇關(guān)于圖文詳解Ubuntu搭建Ftp服務(wù)器的方法(包成功),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Linux系統(tǒng)下grub.cfg文件損壞修復(fù)步驟
大家好,本篇文章主要講的是Linux系統(tǒng)下grub.cfg文件損壞修復(fù)步驟,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下哦2021-12-12linux?系統(tǒng)進(jìn)程管理工具systemd詳解(systemctl命令、創(chuàng)建自己的systemd服務(wù))
Unit?是?Systemd?管理系統(tǒng)資源的基本單元,可以認(rèn)為每個(gè)系統(tǒng)資源就是一個(gè)?Unit,并使用一個(gè)?Unit?文件定義,這篇文章主要介紹了linux?系統(tǒng)進(jìn)程管理工具systemd詳解(systemctl命令、創(chuàng)建自己的systemd服務(wù)),需要的朋友可以參考下2022-12-12初識(shí)centos7與centos6的區(qū)別整理(內(nèi)核、命令等)
這篇文章主要介紹了初識(shí)centos7與centos6的區(qū)別整理,需要的朋友可以參考下2017-08-08