最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Linux運(yùn)維CentOS系統(tǒng)SVN雙備份Shell腳本

 更新時(shí)間:2017年06月12日 09:25:07   作者:海淵_haiyuan  
本篇文章主要介紹了詳解Linux運(yùn)維CentOS系統(tǒng)SVN雙備份Shell腳本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

SVN是Subversion的簡(jiǎn)稱,是一個(gè)開放源代碼的版本控制系統(tǒng),采用了分支管理系統(tǒng)。說(shuō)得簡(jiǎn)單一點(diǎn)SVN就是用于多個(gè)人共同開發(fā)同一個(gè)項(xiàng)目,共用資源的目的。

作為一個(gè)代碼管理工具,備份操作顯得尤為重要,這里采取這樣的備份策略:在執(zhí)行本地備份的同時(shí),讓Shell腳本自動(dòng)上傳數(shù)據(jù)到另一臺(tái)FTP備份服務(wù)器中,這種異地備份策略成本比較小,無(wú)需存儲(chǔ),而且安全系統(tǒng)高,想到與雙備份,本地和異地同時(shí)出現(xiàn)數(shù)據(jù)損壞的概率是低很多的。

備份策略說(shuō)明

使用CentOS 6系列系統(tǒng),安裝vsftpd,修改配置參數(shù)。此外vsftpd的備份目錄可以做RAID1或RAID5。
執(zhí)行腳本將svn項(xiàng)目進(jìn)行本地目錄備份,然后將備份文件上傳到FTP服務(wù)器上,已實(shí)現(xiàn)雙備份。

備份步驟

安裝并配置vsftpd

使用yum直接安裝即可。

yum -y install vsftpd

修改配置,由于要進(jìn)行上傳操作,所以要允許用戶上傳。為安全性考慮,不建議匿名用戶操作。

修改配置后,將不必要的vsftpd.conf參數(shù)屏蔽,顯示為:

[root@private ~]# grep -v "^#" /etc/vsftpd/vsftpd.conf | grep -v "^$"
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

chroot_local_user=YES這條語(yǔ)句需要重點(diǎn)強(qiáng)調(diào)一下,其作用是對(duì)用戶登錄權(quán)限進(jìn)行限制,即所有本地用戶登錄vsftpd時(shí)只能在自己的家目錄下,這是基于安全的考慮,本實(shí)例腳本也會(huì)基于這點(diǎn),要是使用本腳本在實(shí)際的生產(chǎn)環(huán)境,需要注意該點(diǎn)。

創(chuàng)建ftp登錄用戶

在備份服務(wù)器上創(chuàng)建備份用戶,本次創(chuàng)建用戶svn,并為其分配密碼,還應(yīng)該將其家目錄更改為備份目錄,本地備份目錄為:/data/backup/svn-backup/,這樣更方便備份工作,以下腳本以此類推。

[root@private ~]# useradd -d /data/backup/svn-backup/ svn
[root@private ~]# echo "svnpasswd" | passwd --stdin svn
Changing password for user svn.
passwd: all authentication tokens updated successfully.

配置svn倉(cāng)庫(kù)

首先檢查操作系統(tǒng)上面是否安裝了subversion,一般centos操作系統(tǒng)都默認(rèn)安裝了此軟件,如果沒(méi)有安裝使用如下命令快速安裝

rpm -qa subversion
yum -y install subversion
##創(chuàng)建版本庫(kù)
svnadmin create /data/svn  //這里的文件目錄自己隨便設(shè)置 
##配置svnserve,上述版本庫(kù)`/data/svn `建立后在文件夾下會(huì)生成conf文件夾,進(jìn)入`/data/svn/conf`下面會(huì)有下面3個(gè)文件

[root@private svn]# ls conf/
authz passwd svnserve.conf 

##需要修改`svnserve.conf`修改以下幾個(gè)部分:

anon-access = read 
auth-access = write 
password-db = passwd 
authz-db = authz 

##修改`passwd`文件為:

[users] 
username = password  //這里的username和password自己設(shè)置 

##配置文件`authz`最后加上以下兩行(這兩行解決了 SVN客戶端解決authorization failed問(wèn)題)

[/] 
* = rw  

##啟動(dòng)svnserve即可:
svnserve -d -r /home/myrepos/ 

備份腳本

本腳本設(shè)置輪詢周期為30天一次,Shell會(huì)自動(dòng)刪除30天以前的文件。在vsftpd建立相應(yīng)的備份用戶svn腳本內(nèi)容如下:

#!/bin/bash
SVNDIR="/data"
SVNADMIN="/usr/bin/svnadmin"
DATE=$(date +%Y-%m-%d)
OLDDATE=$(date +%Y-%m-%d -d'30 days')
BACKDIR="/data/backup/svn-backup"
[ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
LogFile=${BACKDIR}/svnbak.log
[ -f ${LogFile} ] || touch ${LogFile}
mkdir ${BACKDIR}/${DATE}

for PROJECT in svn
do
  cd $SVNDIR
  $SVNADMIN hotcopy $PROJECT $BACKDIR/$DATE/$PROJECT --clean-logs
  cd $BACKDIR/$DATE
  tar zcvf ${PROJECT}_svn_${DATE}.tar.gz $PROJECT > /dev/null
  rm -rf $PROJECT
  sleep 2
done

HOST=localhost
FTP_USERNAME=svn
FTP_PASSWORD=Haiyuan
cd ${BACKDIR}/${DATE}

ftp -i -n -v <<!
open ${HOST}
user ${FTP_USERNAME} ${FTP_PASSWORD}
bin
cd ${OLDDATE}
mdelete *
cd ..
rmdir ${OLDDATE}
mkdir ${DATE}
cd ${DATE}
mput *
bye

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺析Linux中的零拷貝技術(shù)的使用

    淺析Linux中的零拷貝技術(shù)的使用

    這篇文章主要介紹了淺析Linux中的零拷貝技術(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • linux查看軟件的安裝位置簡(jiǎn)單方法

    linux查看軟件的安裝位置簡(jiǎn)單方法

    在本篇文章里小編給各位分享的是關(guān)于linux查看軟件的安裝位置簡(jiǎn)單方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • apache服務(wù)器全局配置詳解(全)

    apache服務(wù)器全局配置詳解(全)

    apache服務(wù)器全局配置詳解,介紹很多關(guān)于服務(wù)器相關(guān)的一些知識(shí),用apache架設(shè)服務(wù)器的朋友可以收藏下
    2013-03-03
  • Ubuntu中靜態(tài)DNS配置的方法詳解

    Ubuntu中靜態(tài)DNS配置的方法詳解

    這篇文章主要給大家介紹了關(guān)于Ubuntu中靜態(tài)DNS配置的相關(guān)資料,以及給大家分享了ubuntu中靜態(tài)dns配置的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-11-11
  • Linux多線程中fork與互斥鎖過(guò)程示例

    Linux多線程中fork與互斥鎖過(guò)程示例

    大家好,本篇文章主要講的是Linux多線程中fork與互斥鎖過(guò)程示例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下哦
    2021-11-11
  • Linux date 時(shí)間設(shè)置同步命令分享

    Linux date 時(shí)間設(shè)置同步命令分享

    Linux服務(wù)器運(yùn)行久時(shí),系統(tǒng)時(shí)間就會(huì)存在一定的誤差,一般情況下可以使用date命令進(jìn)行時(shí)間設(shè)置,但在做數(shù)據(jù)庫(kù)集群分片等復(fù)雜操作時(shí)對(duì)多臺(tái)機(jī)器的時(shí)間差是有要求的,此時(shí)就需要使用ntpdate進(jìn)行時(shí)間同步。
    2018-04-04
  • linux虛擬網(wǎng)絡(luò)設(shè)備之vlan配置詳解

    linux虛擬網(wǎng)絡(luò)設(shè)備之vlan配置詳解

    這篇文章主要給大家介紹了關(guān)于linux虛擬網(wǎng)絡(luò)設(shè)備之vlan配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • linux環(huán)境下的Oracle部署教程

    linux環(huán)境下的Oracle部署教程

    這篇文章主要介紹了linux環(huán)境下的Oracle部署方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 如何修改CentOS服務(wù)器時(shí)間為北京時(shí)間

    如何修改CentOS服務(wù)器時(shí)間為北京時(shí)間

    這篇文章主要介紹了修改CentOS服務(wù)器時(shí)間為北京時(shí)間的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-10-10
  • Linux系統(tǒng)中CPU占用率較高問(wèn)題排查思路與解決方法

    Linux系統(tǒng)中CPU占用率較高問(wèn)題排查思路與解決方法

    這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中CPU占用率較高問(wèn)題排查思路與解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評(píng)論

柘荣县| 云林县| 富裕县| 塔河县| 潮州市| 彭水| 两当县| 阿拉善盟| 芒康县| 沂南县| 宁明县| 贵德县| 乌鲁木齐市| 栾川县| 沁阳市| 乌兰县| 恩平市| 六枝特区| 滨州市| 山东| 永福县| 嘉义县| 株洲市| 历史| 五台县| 阳山县| 隆昌县| 栾城县| 左权县| 综艺| 长丰县| 江川县| 安塞县| 霍邱县| 永清县| 清镇市| 株洲县| 惠东县| 普定县| 遂溪县| 登封市|