中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

全網備份

發布時間:2020-08-08 10:54:11 來源:網絡 閱讀:840 作者:lsy950109 欄目:建站服務器

1.1全網備份項目介紹說明:

將全網架構中所有服務器上重要的數據進行匯總備份保存

自動化:數據信息的自動備份

規范化:避免備份數據出錯

全網備份

 

1.2  全網備份項目實施過程

     . 規劃定義好備份服務器

           a 部署rsync備份服務(采用rsync守護進程方式)

               b 編寫腳本文件管理備份數據信息

               c 編寫定時任務執行腳本管理數據(難點)

        . 確認驗證好架構服務器

           a 驗證rsync備份服務

               b 編寫腳本文件統一備份數據信息(難點)

               c 編寫定時任務執行腳本備份數據

               

1.3 全網備份項目rsync守護進程模式部署

1.3.1 rysnc服務端部署操作

  1. 驗證軟件是否存在

[root@backup~]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

  1. 檢查配置文件

  2.   ##rsyncd.conf start##                配置文件描述信息

  3.   uid = rsync                          #用戶  遠端的命令使用rsync訪問共享目錄

  4.   gid = rsync                          #用戶組

  5.   use chroot = no                      #安全相關

  6.   max connections = 200                #最大的連接數

  7.   timeout = 300                        #超時時間

  8.   pid file = /var/run/rsyncd.pid       #存放服務運行的時候 進程的ID號(PID)

  9. lock file = /var/run/rsync.lock      #進程的鎖文件

  10. log file = /var/log/rsyncd.log       #運行程序日志文件,顯示出錯信息等

  11.  [backup]                             #模塊名稱

  12. path = /backup                       #模塊對應的位置(路徑)

  13. ignore errors                        #忽略錯誤程序

  14. read only = false                    #是否只讀

  15. list = false                         #是否可以列表

  16. hosts allow = 172.16.1.0/24          #允許訪問rsync服務器的客戶范圍(白名單)

  17. hosts deny = 0.0.0.0/32              #禁止訪問rsync服務器的客戶范圍(黑名單)

  18. auth users = rsync_backup            #不存在的用戶,只用于開門(認證)

  19. secrets file = /etc/rsync.passwor    #不存在的用戶進行認證時的密鑰文件

  20. comment = "backup dir by oldboy"      #

  21.     創建虛擬用戶管理rsync程序

[root@backup~]# # 創建用戶

[root@backup~]# useradd -s /sbin/nologin -M rsync

創建完成后查看

[root@backup~]# id rsync

uid=500(rsync)gid=500(rsync) groups=500(rsync)

4.  檢查rsync服務認證用戶密碼文件是否存在

[root@backup~]# cat /etc/rsync.password

rsync_backup:123456

記得檢查密碼文件權限是不是600

[root@backup~]# chmod 600 /etc/rsync.password

[root@backup~]# ll /etc/rsync.password

-rw------- 1root root 20 May  4 12:04/etc/rsync.password

5.  創建共享存儲目錄

[root@backup~]# # 創建目錄

[root@backup~]# mkdir /backup -p

[root@backup~]# ll -d /backup/

drwxr-xr-x 2root root 4096 May  4 12:00 /backup/

[root@backup~]# # 修改備份目錄權限

[root@backup~]# chown -R rsync.rsync /backup/

[root@backup~]# ll -d /backup/

drwxr-xr-x 2rsync rsync 4096 May  4 12:00 /backup/

6.    啟動rsync 服務器

[root@backup~]# ps -ef |grep rsync

root       5138     1  0 01:31 ?        00:00:00 rsync --daemon

root       6503  6391  0 09:04 pts/1    00:00:00 grep --color=auto rsync

[root@backup~]# netstat  -luntp |grep 873

tcp        0     0 0.0.0.0:873                0.0.0.0:*                   LISTEN      5138/rsync         

tcp        0     0 :::873                     :::*                        LISTEN      5138/rsync         

 

沒有的話 打開

rsync  --daemon

7.    rsync啟動命令放入到開機自啟動文件中

[root@backup~]# echo "rsync --daemon" >> /etc/rc.local

[root@backup~]# tail -1 /etc/rc.local

rsync--daemon

 

1.3.2 rsync客戶端驗證操作

  第一個里程碑要做

1.  創建用戶認證密碼文件,實現數據備份傳輸免密鑰

[root@nfs01~]# cat /etc/rsync.password

123456

查看目錄權限 修改成600

[root@nfs01~]# ll /etc/rsync.password

-rw-------1 root root 7 May  5 10:02/etc/rsync.password

2.  測試rsync服務數據備份傳輸

 

1.4 全網備份項目腳本編寫

1.4.1 rsync客戶端腳本編寫需求

1. 本地創建backup備份目錄                   mkdir -p /backup

              2. 將備份數據統一壓縮進行保存  有軟鏈接文件  tar -zchf

              3. 推送備份目錄數據到rsync備份服務器上       --password-file=

              4. 刪除本地保存的7天前的數據信息         

          find /backup/$Host_IP -type f -mtime+7 -name "*.tar.gz" |xargs rm -f

              5. 對備份數據數據進行驗證,加上指紋信息      md5sum 生成數據文件指紋信息

vim/server/scripts/backup_nginx.sh

#!/bin/bash

#oldboy at2017 5 backup data

 

Host_IP=$(hostname-I|awk '{print $2}')

Date_info=$(date+%F_week0%w)

 

# createbackup data dir

mkdir -p/backup

mkdir/var/html/www -p

mkdir/app/logs/ -p

 

# tar datainfo

cd /&&\

mkdir /backup/$Host_IP-p

tar zchf/backup/$Host_IP/sysbak_date_${Date_info}.tar.gz  ./var/spool/cron/root ./etc/rc.local./server/scripts ./etc/sysconfig/iptables

tar zchf/backup/$Host_IP/www_date_${Date_info}.tar.gz ./var/html/www

tar zchf/backup/$Host_IP/logs_date_${Date_info}.tar.gz ./app/logs

 

# rsync pushfiger info

find/backup/$Host_IP/ -type f -name "*${Date_info}.tar.gz" |xargs md5sum>/backup/$Host_IP/finger_${Date_info}.txt

 

# rsync pushdata to rsync_server

rsync -az/backup/  rsync_backup@172.16.1.41::backup  --password-file=/etc/rsync.password

 

# cleardata  info for 7 day ago

find/backup/$Host_IP -type f -mtime +7 -name "*.tar.gz" |xargs rm -f

find/backup/$Host_IP -type f -mtime +7 -name "finger*"  |xargs rm -f

1.4.2 rsync服務端腳本編寫需求

          a. 驗證數據完整性                            md5sum -c  客戶端傳輸過來的指紋文件

b. 將完整性驗證結果,通過郵件發送給監管人員  郵箱的配置 發送郵件的方式(兩種方式發送郵件)

            01:發送郵件方式,利用文件方式表示郵件內容

            mail -s "check data"  18735676310@163.com </tmp/mail.txt

            02:發送郵件,利用命令行方式表示郵件內容

            # echo "系統有異常問題,請檢查系統"|mail -s "異常告警" 18735676310@163.com

            說明:echo后面接上要發送的郵件信息,mail -s后面接上郵件標題,最后表示要將郵件發送給誰

              c. 180天的數據進行刪除,保留每周一的數據

           find /backup/ -type f -mtime +180 !-name "*week01.tar.gz"|xargs rm -f

 

vim /server/scritps/backup_rsync.sh

[root@backuptmp]# cat /server/scripts/backup_server.sh

#!/bin/bash

 

Date_info=$(date+%F_week0%w)

 

# check datainfo

find /backup/-type f -name "finger_${Date_info}.txt" |xargs md5sum -c>/tmp/figer_cheak.txt

 

# send cheakinfo mail

mail -s"cheak date" 18735676310@163.com </tmp/figer_cheak.txt

 

# delete180day ago date ; save week01

find /backup/-type f -mtime +180 ! -name "*week01.tar.gz" |xargs rm -f

   

1.5 全網備份項目定時任務編寫

    rsync客戶端編寫定時任務

nginx客戶端的定時任務

#crond-id-002:push backup torsync

00 00 * * * /bin/bash/server/scripts/backup_nginx.sh >/dev/null 2>&1

nfs客戶端的定時任務

#crond-id-002:push backup torsync

00 00 * * * /bin/bash/server/scripts/backup_nfs.sh >/dev/null 2>&1

    .rsync服務端編寫定時任務

rsync服務端的定時任務

#crotab-id002:backup NFS nginx

00 06 * * * /bin/bash/server/scripts/backup_rsync.sh >/dev/null 2>&1

     上面兩個客戶端的定時任務寫的是每天晚上12點整進行打包發送,而rsync服務器的定時任務是每天早上6點進行發送。

1.6 全網備份項目難點分析

    . 每周一的數據進行保存,確認清楚什么是周一的數據

/backup/$(hostname-I|awk '{print $2}')/sysbak_date_$(date+%F_week0%w).tar.gz./var/spool/cron/root

所以在打包壓縮文件的時候就考慮到了這一點$(date+%F_week0%w)這個在文件名字上面加上了周幾,所以在保存數據的時候能起到關鍵性作用。

       find /backup/ -type f -mtime +180 ! -name"*week01.tar.gz" |xargs rm -f

    . 驗證數據完整性是什么概念

         因為數據是從客戶端傳過來的,為了保證數據沒有修改和丟失,在發送數據時,給數據進行加密處理,然后服務端收到數據和加密處理文件時,會進行比對。如果串碼一樣,說明沒有丟失和修改。

If you do not leave me . I will by your side untillthe life end

四級水平:你如果不離開我,我就和你同歸于盡,

六級水平:你若不離不棄,我必生死相依。

八級水平:問世間情為何物?直教人生死相許。

十級水平:天地合,乃敢與君絕。

佛祖水平:你在或不在,愛就在那里,不增不減。

1.7 全網備份項目部署

1.7.1     第一個里程碑:實現數據傳輸備份

rsync守護進程模式配置步驟

檢查服務端

  1. 1.     檢查軟件是否存在

[root@backup~]# rpm -qa rsync

rsync-3.0.6-12.el6.x86_64

  1. 2.     檢查配置文件

[root@backup~]# cat /etc/rsyncd.conf

##rsyncd.conftart##

uid =rsync

gid =rsync

usechroot = no

maxconnections = 200

timeout= 300

pidfile = /var/run/rsyncd.pid

lockfile = /var/run/rsync.lock

logfile = /var/log/rsyncd.log

[backup]

path= /backup

ignoreerrors

readonly = false

list= false

hostsallow = 172.16.1.0/24

hostsdeny = 0.0.0.0/32

authusers = rsync_backup,oldboy

secretsfile = /etc/rsync.password

[data]

path= /data

ignoreerrors

readonly = false

list= false

hostsallow = 172.16.1.0/24

hostsdeny = 0.0.0.0/32

authusers = rsync_backup,oldboy

secretsfile = /etc/rsync.password

  1. 3.    創建虛擬用戶管理rsync程序

[root@backup~]# # 創建用戶

[root@backup~]# useradd -s /sbin/nologin -M rsync

  1. 4.    檢查rsync服務認證用戶密碼文件是否存在

[root@backup~]# cat /etc/rsync.password

rsync_backup:123456

記得檢查密碼文件權限是不是600

  1. 5.    創建共享存儲目錄

mkdir   /backup/ -p

修改目錄的屬組和屬主

[root@backup~]# ll -d /backup/

drwxr-xr-x5 rsync rsync 4096 May  5 15:35 /backup/

  1. 6.    啟動rsync 服務器

[root@backup~]# ps -ef |grep rsync

root       5138     1  0 01:31 ?        00:00:00 rsync --daemon

root       6503  6391  0 09:04 pts/1    00:00:00 grep --color=auto rsync

[root@backup~]# netstat  -luntp |grep 873

tcp        0     0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      5138/rsync         

tcp        0     0 :::873                     :::*                        LISTEN      5138/rsync         

沒有的話 打開

rsync  --daemon

  1. 7.    rsync啟動命令放入到開機自啟動文件中

[root@backup~]# echo "rsync --daemon" >> /etc/rc.local

[root@backup~]# tail -1 /etc/rc.local

rsync--daemon

 

 

客戶端
1.  創建用戶認證密碼文件,實現數據備份傳輸免密鑰

[root@nfs01~]# cat /etc/rsync.password

123456

查看目錄權限 修改成600

[root@nfs01~]# ll /etc/rsync.password

-rw-------1 root root 7 May  5 10:02 /etc/rsync.password

2.  測試rsync服務數據備份傳輸

 

       第二個里程碑:編寫數據備份腳本

                  nginx nfs    

--rsync客戶端編寫的備份腳本

客戶端nginx編寫的腳本

vim/server/scripts/backup_nginx.sh     要規范腳本的名稱和存放腳本的目錄

#!/bin/bash                             命令解釋器

#oldboy at2017 5 backup data           必要的注釋

 

Host_IP=$(hostname-I|awk '{print $2}') 設置的別名

Date_info=$(date+%F_week0%w)           設置的別名

 

# createbackup data dir                要創建的目錄

mkdir -p/backup

mkdir/var/html/www -p

mkdir/app/logs/ -p

 

# tar datainfo                          打包目的的注釋

cd /&&\                                一定要在根目錄下面進行打包

mkdir/backup/$Host_IP -p

tar zchf/backup/$Host_IP/sysbak_date_${Date_info}.tar.gz  ./var/spool/cron/root ./etc/rc.local./server/scripts ./etc/sysconfig/iptables        記得要加h參數,可以打包軟鏈接

tar zchf /backup/$Host_IP/www_date_${Date_info}.tar.gz  ./var/html/www

tar zchf/backup/$Host_IP/logs_date_${Date_info}.tar.gz ./app/logs

 

# rsync pushfiger info

find/backup/$Host_IP/ -type f -name "*${Date_info}.tar.gz" |xargs md5sum>/backup/$Host_IP/finger_${Date_info}.txt 把找到的文件進行加密

 

# rsync pushdata to rsync_server

rsync -az/backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

                                              免密鑰進行打包傳輸數據

# cleardata  info for 7 day ago              刪除七天前的文件

find/backup/$Host_IP -type f -mtime +7 -name "*.tar.gz" |xargs rm -f

find/backup/$Host_IP -type f -mtime +7 -name "finger*"  |xargs rm -f

--nfs 客戶端編寫的備份腳本

vim/server/scripts/backup_nfs.sh                 要規范腳本的名稱和存放腳本的目錄

#!/bin/bash                                        命令解釋器

#oldboy at2017 5 backup data                      必要的注釋

 

Host_IP=$(hostname-I|awk '{print $2}')         

Date_info=$(date+%F_week0%w)

 

# createbackup data dir

mkdir -p/backup

 

# tar datainfo

cd /&&\                    一定要在根目錄下面進行打包

mkdir/backup/$Host_IP -p

tar zchf

/backup/$Host_IP/sysbak_date_${Date_info}.tar.gz  ./var/spool/cron/root ./etc/rc.local./server/scripts ./etc/sysconfig/iptables  記得要加h參數,可以打包軟鏈接

 

# rsync pushfiger info

find/backup/$Host_IP/ -type f -name "*${Date_info}.tar.gz" |xargs md5sum>/backup/$Host_IP/finger_${Date_info}.txt

把找到的文件進行加密

# rsync pushdata to rsync_server

rsync -az/backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

免密鑰進行打包傳輸數據

# cleardata  info for 7 day ago

find/backup/$Host_IP -type f -mtime +7 -name "*.tar.gz" |xargs rm -f

find/backup/$Host_IP -type f -mtime +7 -name "finger*"  |xargs rm -f

備份服務器端  --rsync服務端編寫備份腳本                

--rsync服務端編寫備份腳本

vim/server/scripts/backup_rsync.sh要規范腳本的名稱和存放腳本的目錄

#!/bin/bash                        命令解釋器

 

Date_info=$(date+%F_week0%w)

 

# check datainfo            查找傳過來的密碼就行比對,將結果追加到figer_cheak.txt文件中

find /backup/-type f -name "finger_${Date_info}.txt" |xargs md5sum -c>/tmp/figer_cheak.txt

 

# send cheakinfo mail     把文件的內容發送到郵箱

mail -s"cheak date" 18735676310@163.com </tmp/figer_cheak.txt

 

# delete180day ago date ; save week01   刪除180天的文件除了每星期一的文件

find /backup/-type f -mtime +180 ! -name "*week01.tar.gz" |xargs rm -f

       第三個里程碑:配置定時任務

rsync客戶端編寫定時任務

nginx客戶端的定時任務

#crond-id-002:push backup torsync

00 00 * * * /bin/bash/server/scripts/backup_nginx.sh >/dev/null 2>&1

nfs客戶端的定時任務

#crond-id-002:push backup torsync

00 00 * * * /bin/bash/server/scripts/backup_nfs.sh >/dev/null 2>&1

. rsync服務端編寫定時任務

rsync服務端的定時任務

#crotab-id002:backup NFS nginx

00 06 * * * /bin/bash/server/scripts/backup_rsync.sh >/dev/null 2>&1

     上面兩個客戶端的定時任務寫的是每天晚上12點整進行打包發送,而rsync服務器的定時任務是每天早上6點進行發送。因為如果服務端也是晚上12點整進行備份,怕客戶端的還沒有發送過來就沒有文件,所有往后推一點時間最好。

1.8 全網備份用到的知識點

1.8.1 md5sum

對傳輸的文件進行加密

[root@nfs01~]# md5sum /etc/hosts

c559a5da81a3ecc708ae5d84985a0776  /etc/hosts

指紋加密特點:雪崩效應

1.8.2 發送郵件修改的配置文件 vim /etc/mail.rc

進入到郵件發送的配置文件中,編輯發送郵件的參數信息

vim/etc/mail.rc

setfrom=18735676310@163.com smtp=smtp.163.com

setsmtp-auth-user=18735676310@163.com smtp-auth-password=Zr950220 smtp-auth=login

setfrom=郵箱地址@163.com smtp=smtp.163.com <-郵件發送郵件服務器域名,此處為163郵箱的發送服務器域名

setsmtp-auth-user=郵箱賬號 smtp-auth-password=登錄郵箱密碼 smtp-auth=login

說明:設置發送郵件是從哪個公共郵箱地址發送,采用的發送郵件服務器域名,公共郵箱賬號和密碼

 

1.8.3 發送郵件的方式(兩種方式發送郵件)

            01:發送郵件方式,利用文件方式表示郵件內容

            mail -s "check data"2722982316@qq.com </tmp/mail.txt

            02:發送郵件,利用命令行方式表示郵件內容

            # echo "系統有異常問題,請檢查系統"|mail -s "異常告警" 17778058507@163.com

            說明:echo后面接上要發送的郵件信息,mail -s后面接上郵件標題,最后表示要將郵件發送給誰

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

句容市| 绥化市| 桂东县| 绍兴县| 西峡县| 平昌县| 沂南县| 新郑市| 江达县| 凤冈县| 尤溪县| 晋城| 佛教| 独山县| 从江县| 江西省| 勃利县| 天镇县| 潞西市| 如东县| 杭州市| 罗甸县| 金华市| 徐闻县| 仁怀市| 天柱县| 绵竹市| 石棉县| 宜阳县| 鄱阳县| 达拉特旗| 隆化县| 彭水| 象州县| 罗源县| 成安县| 桐梓县| 云霄县| 南川市| 万全县| 池州市|