一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Centos - 詳解Linux運維CentOS系統SVN雙備份Shell腳本

詳解Linux運維CentOS系統SVN雙備份Shell腳本

2022-01-20 17:42海淵_haiyuan Centos

本篇文章主要介紹了詳解Linux運維CentOS系統SVN雙備份Shell腳本,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,采用了分支管理系統。說得簡單一點SVN就是用于多個人共同開發同一個項目,共用資源的目的。

作為一個代碼管理工具,備份操作顯得尤為重要,這里采取這樣的備份策略:在執行本地備份的同時,讓Shell腳本自動上傳數據到另一臺FTP備份服務器中,這種異地備份策略成本比較小,無需存儲,而且安全系統高,想到與雙備份,本地和異地同時出現數據損壞的概率是低很多的。

備份策略說明

使用CentOS 6系列系統,安裝vsftpd,修改配置參數。此外vsftpd的備份目錄可以做RAID1或RAID5。
執行腳本將svn項目進行本地目錄備份,然后將備份文件上傳到FTP服務器上,已實現雙備份。

備份步驟

安裝并配置vsftpd

使用yum直接安裝即可。

?
1
yum -y install vsftpd

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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這條語句需要重點強調一下,其作用是對用戶登錄權限進行限制,即所有本地用戶登錄vsftpd時只能在自己的家目錄下,這是基于安全的考慮,本實例腳本也會基于這點,要是使用本腳本在實際的生產環境,需要注意該點。

創建ftp登錄用戶

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

?
1
2
3
4
[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倉庫

首先檢查操作系統上面是否安裝了subversion,一般centos操作系統都默認安裝了此軟件,如果沒有安裝使用如下命令快速安裝

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
rpm -qa subversion
yum -y install subversion
##創建版本庫
svnadmin create /data/svn  //這里的文件目錄自己隨便設置
##配置svnserve,上述版本庫`/data/svn `建立后在文件夾下會生成conf文件夾,進入`/data/svn/conf`下面會有下面3個文件
 
[root@private svn]# ls conf/
authz passwd svnserve.conf
 
##需要修改`svnserve.conf`修改以下幾個部分:
 
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
 
##修改`passwd`文件為:
 
[users]
username = password  //這里的username和password自己設置
 
##配置文件`authz`最后加上以下兩行(這兩行解決了 SVN客戶端解決authorization failed問題)
 
[/]
* = rw 
 
##啟動svnserve即可:
svnserve -d -r /home/myrepos/

備份腳本

本腳本設置輪詢周期為30天一次,Shell會自動刪除30天以前的文件。在vsftpd建立相應的備份用戶svn腳本內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/ll845876425/article/details/73011761

延伸 · 閱讀

精彩推薦
  • Centoscentos不小心刪除/root目錄該如何解決?

    centos不小心刪除/root目錄該如何解決?

    一些朋友最近在問小編centos不小心刪除/root目錄該如何解決?今天小編就為大家分享centos不小心刪除/root目錄解決辦法;希望對大家會有幫助,有需要的朋友...

    腳本之家8022019-05-29
  • CentosCentOS下Uptime命令詳解

    CentOS下Uptime命令詳解

    在Linux下,我們可以使用uptime命令,而且此命令不必使用root權限。uptime命令在系統中已經默認安裝了。今天小編為大家帶來的是CentOS下Uptime命令詳解;希望...

    CentOS之家11482019-06-19
  • CentosCentOS6.5下Redis安裝與配置詳細步驟

    CentOS6.5下Redis安裝與配置詳細步驟

    本篇文章主要介紹了CentOS6.5下Redis安裝與配置詳細步驟,詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。有興趣的可以了解一下。...

    飛流11452021-12-24
  • CentosCentos7運用/dev/shm進行網站優化

    Centos7運用/dev/shm進行網站優化

    這篇文章主要介紹了LINUX中Centos7運用/dev/shm進行網站優化相關知識點,對此有興趣的朋友參考學習下。...

    彬菌9912022-03-02
  • CentosCentOS7設置日期和時間方法以及基本概念介紹

    CentOS7設置日期和時間方法以及基本概念介紹

    這篇文章主要介紹了CentOS7設置日期和時間方法以及基本概念介紹,本文講解使用CentOS7中的新命令timedatectl設置日期時間方法,需要的朋友可以參考下 ...

    CentOS之家6522019-09-19
  • CentosCentos 7開啟網卡自動獲取IP的詳細方法

    Centos 7開啟網卡自動獲取IP的詳細方法

    本篇文章主要介紹了Centos 7開啟網卡自動獲取IP的詳細方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    凌鋒8972021-12-29
  • Centoscentos 安裝與操作方法

    centos 安裝與操作方法

    這篇文章主要介紹了centos 安裝與操作方法,需要的朋友可以參考下...

    centos之家5272019-07-11
  • CentosCentOS 6.6實現永久修改DNS地址的方法

    CentOS 6.6實現永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實現永久修改DNS地址的方法,涉及針對CentOS配置文件的相關設置技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    Linux社區4472020-08-21
主站蜘蛛池模板: 99久久6er热免费精品 | ova巨公主催眠1在线观看 | 男gaygays免费网站多人 | 日韩视频在线精品视频免费观看 | 久久re热在线视频精69 | 暖暖 免费 高清 日本 中文 | 精品久久久久久亚洲精品 | 亚洲精品久久啪啪网站成年 | 国产精彩视频 | 2019理论韩国理论中文 | 2022日韩理论片在线观看 | www.青青操 | china国产bbw| 国产福利微拍精品一区二区 | 国产成人精品曰本亚洲77美色 | 大胸纲手被羞羞漫画网站 | 99热在线只有精品 | 欧美粗黑巨大gay | 狠狠综合视频精品播放 | videos欧美肥婆| 午夜无码片在线观看影院 | 性色xxx | 日本高清在线精品一区二区三区 | 女教师波多野结衣高清在线 | 免费大片a一级一级 | naruto tube18动漫| 国产短视频精品一区二区三区 | 奇米影视77777| 亚洲va久久久噜噜噜久久狠狠 | 91日本| 99re这里都是精品 | 亚洲国产成人资源在线桃色 | 温柔校草高h | 亚洲视频第一页 | 星空无限传媒xk8027穆娜 | 777奇米影视一区二区三区 | 精品国产自在现线久久 | 国产福利片在线 易阳 | h肉动漫在线视频无修无遮挡 | 国产精品玖玖玖影院 | 91精品国产免费久久国语蜜臀 |