To view {0}


Get Adobe Flash player

20100819CentOS 備份

rsync

clinet

備份

Client 與 Server 同步

同步二邊檔案(Client 與 Server 同步) # /usr/bin/rsync -rvlHpogDtS --progress --delete --password-file=/root/rsyncd.secrets /usr/src/redhat/RPMS/* m2k@192.168.1.39::m2k

不備份 noarch 目錄

# /usr/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /usr/src/redhat/RPMS/* --exclude noarch m2k@192.168.1.39::m2k # /usr/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /usr/src/redhat/RPMS/* m2k@192.168.1.39::m2k

防火牆的設定

# iptables -A INPUT -p tcp -s ! 192.168.1.19 --dport 873 -j DROP

設定密碼檔

# vim /etc/rsyncd.secrets 123456

改變權限及使用者

# chown root:root /etc/rsyncd.secrets # chmod 600 rsyncd.secrets

server

套件安裝

#yum -y nmap xinetd

檢查 rsync 是否有啟動

# nmap localhost 或 # netstat -ntl tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 如果沒有啟動 # vim /etc/xinetd.d/rsync service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID } 重新啟動 xinetd # service xinetd restart 或是 # kill -1 `cat /var/run/xinetd.pid`

改變權限及使用者

# chown root:root /etc/rsyncd.secrets # chmod 600 rsyncd.secrets

設定密碼檔

# vim /etc/rsyncd.secrets m2k:123456

建立要放備份檔案的目錄

mkdir /home/backup

編輯 rsync 設定檔

# vim /etc/rsyncd.conf [m2k] path = /home/RPM auth users = m2k uid = root gid = root secrets file = /etc/rsyncd.secrets read only = no

到本地端

建置sh

# vim /usr/local/bin/backupwwwmysql.sh #! /bin/bash # 先把資料庫的服務停止 service mysqld stop # 檔名及路徑可以自行指定 tar cvjf /home/backup/mysql.`date +%F_%T`.tar.bz2 /var/lib/mysql # 停止網頁伺服器的服務 service httpd stop # 檔名及路徑可以自行指定 tar cvjf /home/backup/www.`date +%F_%T`.tar.bz2 /var/www/html # 重新啟動 網頁及資料庫伺服器 service mysqld start service httpd start

改變檔案權限

#chmod +x /usr/local/bin/backupwwwmysql.sh

建立備分檔案存放的目錄

#mkdir /home/backup

保留七天資料

保留一個星期內的備份 # rm -rf `find /home/backup/www -atime +7`

工作排程

加到工作排程 # crontab -e 15 4 * * * /usr/local/bin/backupwwwmysql.sh;rm -rf `find /home/backup/www -atime +7`

到遠端

建置sh. # vim /usr/local/bin/autoupbak #!/usr/bin/expect # 設定等待期盼訊息時的逾期時間, 單位為秒。此處筆者設定為 "10", # 表示 10 秒內若無法得到期盼的訊息, 便自動放棄等待 set timeout "10" # 切換至 /backup 目錄 cd /home/backup # 使用 spawn 函式執行 〈ftp 192.168.0.132〉 指令 spawn ftp 140.111.69.88 # 此為期盼訊息與回應步驟的語法 expect { timeout { puts stderr "等不到下列期盼訊息: Name"; exit 1 } "Name" {send "stu\n"} } expect { timeout { puts stderr "等不到下列期盼訊息: Password"; exit 1 } "Password" {send "stu123\n"} } expect { timeout { puts stderr "等不到下列期盼訊息: Login successful"; exit 1 } "Login successful" {send "bin\n"} } expect { timeout { puts stderr "等不到下列期盼訊息: 200 Switching to Binary"; exit 1 } -re "200.*Binary" {send "put *.tar.bz2\n"} } expect { 15/22 timeout { puts stderr "等不到下列期盼訊息: File receive OK"; exit 1 } "File receive OK" {send "bye\n"} } expect { timeout { puts stderr "等不到下列期盼訊息: 221 Goodbye"; exit 1 } "221 Goodbye" {exit 0} } # 將備份好的檔案搬至其他的目錄 mv /home/backup/*.tar.bz2 /home/backup/ok. 建立目錄. #mkdir -p /home/backup/ok. 工作排程. # crontab -e 15 4 * * * /usr/local/bin/backupwwwmysql.sh;/usr/local/bin/autoupbak;rm -rf `find /home/backup/ok -atime +7` 備份主機的工作排程 # crontab -e 0 5 * * * rm -rf `find /home/test123 -atime +7`. 安裝套件. #yum -y spawn.