我們提供的服務有:成都做網(wǎng)站、網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、昂昂溪ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的昂昂溪網(wǎng)站制作公司
具體要求如下:
1)所有服務器的備份目錄必須都為/backup
2)要備份的系統(tǒng)配置文件包括但不限于:
a.定時任務服務的配置文件(/var/spool/cron/root)(適合web和nfs服務器)
b.開機自啟動的配置文件(/etc/rc.local)(適合web和nfs服務器)
c.日常腳本的目錄(/server/scripts)
d.防火墻iptables的配置文件(/etc/sysconfig/iptables)
e..............
3)Web服務器站點目錄假定為(/var/html/www)
4)Web服務器A訪問日志路徑假定為(/app/logs)
5)Web服務器保留打包后的7天的備份數(shù)據(jù)即可(本地留存不能多于7天,因為太多硬盤會滿)
6)備份服務器上,保留每周一的所有數(shù)據(jù)副本,其它要保留6個月的數(shù)據(jù)副本。
7)備份服務器上要按照備份數(shù)據(jù)服務器的內網(wǎng)IP為目錄保存?zhèn)浞荩瑐浞莸奈募凑諘r間名字保存
8)*需要確保備份的數(shù)據(jù)盡量完整正確,在備份服務器上對備份的數(shù)據(jù)進行檢查,把備份的成功及失敗結果信息發(fā) 給系統(tǒng)管理員郵箱中
PS1="\[\e[32;1m\][\u@\h \W]\\$ \[\e[0m\]" >>/etc/bashrc ##小功能優(yōu)化 sed -i.bak 's@#UseDNS yes@UseDNSno@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g'/etc/ssh/sshd_config /etc/init.d/sshd reload
一、服務端配置
01、查看服務器上有無rsync軟件
rpm -qa rsync
02、開始配置
vim /etc/rsyncd.conf uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 300 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = no list = no hosts allow =10.0.0.0/24 ##外網(wǎng) -- 測試 用于沒有準備第二塊網(wǎng)卡 auth users = rsync_backup secrets file =/etc/rsync.password [backup] path = /backup
03、搭建rsync服務器需要的配置
①useadd -s /sbin/nologin -M rsync ②echo "rsync_backup:123456" >>/etc/rsync.password ③chmod 600 /etc/rsync.password ④mkdir -p /backup ⑤chown -R rsync.rsync /backup
04、啟動rsync-------####xinetd
ps -ef |grep rsync rsync --daemon ps -ef |grep rsync
05、開機自啟動rsync服務
echo "rsync --daemon" >>/etc/rc.local
二、客戶端配置
01、創(chuàng)建密碼文件
vim /etc/rync.password 123456 說明:客戶端存放密碼的文件路徑最后與服務端一致,密碼必須一致
02、更改密碼文件權限
chmod 600 /etc/rync.password ll /etc/rync.password
03、測試
rsync -avzP /etc/services rsync_backup@10.0.0.1::backup --password-file=/etc/rsync.password
三、客戶端備份腳本的編寫
溫馨注釋:在遠程連接中,另外克隆一個窗口,進行操作,把測試好的命令復制到要寫的腳本文件當中;
01、創(chuàng)建/backup備份目錄
mkdir -p /backup/$(hostname -I |awk '{print $1}')
02、壓縮備份數(shù)據(jù)到/backup目錄中
cd / && tar zcfh /backup/$(hostname -I |awk '{print $1}')/\ ifconfig_backup_$(date +%F_week0%w).tar.gz var/spool/cron etc/rc.local \ server/scripts etc/sysconfig/iptables
03、推送備份目錄數(shù)據(jù)到rsync服務器--推送的必須能讓rsync服務端知道是誰進行推送的
rsync -az /backup/$(hostname -I |awk '{print $1}') rsync_backup@10.0.0.1::backup \ --password-file=/etc/rsync.password
04、刪除7天以前的備份數(shù)據(jù)
find /backup/$(hostname -I) -type f -mtime +7 |xargs rm -f
05、對備份的數(shù)據(jù)進行驗證,加上相應的指紋信息
find /backup/$(hostname -I |awk '{print $1}')/ \ -type f -name "*$(date +%F_week0%name "*$(date +%F_week0%w).tar.gz" \ |xargs md5sum >/backup/$(hostname -I |awk '{print $1}')/falg_$(date +%F_week0%w).txt
06、腳本編寫
#! /bin/bash
IP=$(hostname -I |awk '{print $1}')
mkdir -p /backup/$IP &&\
#compress
cd / && tar zcfh /backup/$IP/ifconfig_backup_$(date +%F_week0%w).tar.gz var/spool/cron etc/rc.local server/scripts etc/sysconfig/iptables &&\
#check falg
find /backup/$IP/ -type f -name "*$(date +%F_week0%w).tar.gz" |xargs md5sum >/backup/$IP/falg_$(date +%F_week0%w).txt
#push info
rsync -az /backup/$IP rsync_backup@10.0.0.1::backup --password-file=/etc/rsync.password
#clear info
find /backup/$IP/ -type f -mtime +7 |xargs rm -f
三、客戶端編寫定時任務
crontab -e #crontab-id:02-backup date 00 00 * * * /bin/bash /server/scripts/backup.sh &>/dev/null
四、服務器端腳本編寫
01、驗證傳輸數(shù)據(jù)完整性
cat falg_2017-05-06_week06.txt md5sum -c falg_2017-05-06_week06.txt
02、檢驗當天數(shù)據(jù)的完整性
[root@backup 10.0.0.2]# md5sum -c falg_$(date +%F_week0%w).txt
03、檢驗優(yōu)化
[root@backup 10.0.0.2]# find /backup/ -type f -name "*$(date +%F_week0%w).txt"
04、把腳本推送到web服務器上
[root@nfs01 ~]# rsync -avzP /server/scripts/backup.sh root@10.0.0.3:/server/scripts/
05、web服務器推送到rsync服務器上
[root@web01 ~]# mkdir -p /app/logs /var/html/www [root@web01 ~]# sh /server/scripts/backup.sh
06、打包
cd / && tar zcfh /backup/$IP/www_backup_$(date +%F_week0%w).tar.gz var/html/www &&\ cd / && tar zcfh /backup/$IP/app_log_backup_$(date +%F_week0%w).tar.gz app/logs
07、郵箱配置
set from=
set smtp=smtp.qq.com
set smtp-auth-user=
set smtp-auth-password=
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/ &>/dev/null
set from=17600201416@163.com smtp=smtp.163.com
set smtp-auth-user=17600201416 smtp-auth-password=sangfor123 smtp-auth=login
08、rsync服務器上的腳本編寫
vim /server/scripts/server_backup.sh
find /backup -type f -name "*$(date +%F_week0%w).txt" |xargs md5sum -c >/tmp/mails.txt
mail -s "check data" xxxxxx@qq.com
###clear info
find /backup -type f -mtime +180 ! -name "*week01.tar.gz" |xargs rm -f
09、編寫定時任務
crontab -e
00 06 * * * /bin/bash /server/scripts/server_backup.sh &>/dev/null