*******************************也可以用文件共享nfs
scp命令的實際應用
1>從本地服務器複製到遠程服務器
實例:
scp /home/linux/soft/scp.zip [email protected]:/home/linux/others/soft
(2) 複製目錄
scp -P 2002 -r /home/linux/soft/ [email protected]:/home/linux/others/
2>從遠程服務器複製到本地服務器
scp [email protected]:/home/linux/soft/scp.zip /home/linux/others/scp.zip
scp www.mydomain.com:/home/linux/soft/ -r /home/linux/others/
scp 加端口
scp -P ××× test.tar.gz root@×××:/root/
rsync的用法
安裝yum install rsync
which rsync 查找安裝的位置
rmp -qf /usr/bin/rsync 查找軟件包
參考地址:http://www.ttlsa.com/web/let-infotify-rsync-fast/
rsync是類unix系統下的數據鏡像備份工具,從軟件的命名上就可以看出來了——remote sync。rsync是Linux系統下的文件同步和數據傳輸工具,它採用“rsync”算法,可以將一個客戶機和遠程文件服務器之間的文件同步,也可以在本地系統中將數據從一個分區備份到另一個分區上。如果rsync在備份過程中出現了數據傳輸中斷,恢復後可以繼續傳輸不一致的部分。rsync可以執行完整備份或增量備份。它的主要特點有:
1.可以鏡像保存整個目錄樹和文件系統;
2.可以很容易做到保持原來文件的權限、時間、軟硬鏈接;無須特殊權限即可安裝;
3.可以增量同步數據,文件傳輸效率高,因而同步時間短;
4.可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接;
5.支持匿名傳輸,以方便進行網站鏡象等;
6.加密傳輸數據,保證了數據的安全性;
一。實例:(文件由117複製到114的配置)(備註:這個用法相當於“拉”源服務器的文件備份到當前服務器)
1、資源服務器117配置, 目錄:/etc/rsyncd.conf 內容(安裝yum -y install rsync後就會在etc目錄下有rsyncd.conf文件配置下面需求就可以了)
#[global]設置全局變量
uid=0
gid=0
max connections=50
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsyncd.server
hosts allow = 192.168.1.114
hosts deny = *
#上傳文件
[UploadFile]
path = /home/cooguo/uploadfiles
comment = UploadFile
ignore errors
read only = yes
list = yes
auth users = work
secrets file = /etc/rsyncd.server
#自動打包文件
[repack]
path=/home/cooguo/repack
comment=repack
ignore errors
read only = yes
list = yes
auth users = work
secrets file = /etc/rsync.server
保存虛擬用戶密碼:/etc/rsyncd.server (權限需要600)
重啓:rsync --daemon --config=/etc/rsyncd.conf
2、目標服務器114,執行配置/home/cooguo/rsync.sh如圖
#! /bin/sh
logFile=/home/cooguo/rsync_log.txt
message=/home/cooguo/rsync_message.txt
cdate=$(date '+%Y-%m-%d %H:%M')
echo " " >> $logFile
echo " " >> $logFile
echo " " >> $logFile
echo "------------------開始增量備份,時間:$cdate -------------------------" >> $logFile
#echo "-----備份webapp-----" >> $logFile
#/usr/bin/rsync -avz --progress --exclude=*.log --exclude=*.out --exclude=logs/ --password-file=/home/cooguo/rsyncd.secrets [email protected]::Webapp /home/cooguo/veegaoserver/webapp/ >> $message
#sleep 5
#echo "-----備份server1-----" >> $logFile
#/usr/bin/rsync -avz --progress --exclude=*.log --exclude=*.out --exclude=logs/ --password-file=/home/cooguo/rsyncd.secrets [email protected]::server1 /home/cooguo/server1/ >> $message
echo "-----備份uploadfile27-----" >> $logFile
/usr/bin/rsync -avz --progress --password-file=/home/cooguo/rsyncd.secrets [email protected]::UploadFile /home/cooguo/veegaoserver/uploadfiles/ >> $message
echo "-----備份cdn-----" >> $logFile
/usr/bin/rsync -avz --progress --password-file=/home/cooguo/rsyncd.secrets [email protected]::cdn /home/cooguo/veegaoserver/cdn/ >> $message
#echo "-----備份repack-----" >> $logFile
#/usr/bin/rsync -avz --progress --password-file=/home/cooguo/rsyncd.secrets [email protected]::repack /home/cooguo/cxptserver/repack/ >> $message
#sleep 5
#echo "-----備份cxptsClient1-----" >> $logFile
#/usr/bin/rsync -avz --progress --exclude=*.log --exclude=*.out --exclude=logs/ --password-file=/home/cooguo/rsyncd.secrets [email protected]::client1 /home/cooguo/client1/ >> $message
文件/home/cooguo/rsyncd.secrets配置內容:
njgwork123
配置後好啓動同步功能:
rsync --daemon --config=/etc/rsyncd.conf
二.通過rsync+inotify實現數據的實時備份(備註:相當於推文件到備份服務器)
1.查看是否支持inotify,出kernel2.6.13開始正式併入內核
[root@localhost download]# ll /proc/sys/fs/inotify/
total 0
-rw-r--r-- 1 root root 0 Apr 27 14:53 max_queued_events
-rw-r--r-- 1 root root 0 Apr 27 14:53 max_user_instances
-rw-r--r-- 1 root root 0 Apr 27 14:53 max_user_watches
在linux內核中,默認的inotify機制提供了三個調控參數:
max_queued_exents #表示監控事件隊列
max_user_instances #表示最多監控實例數
max_user_watches #表示每個實例最多監控文件數
注:當要監控的目錄,文件數量較多或者變化比較頻繁時,要加大這三個數的值
例如:可直接修改/etc/sysctl.conf配置文件,將管理隊列設爲32768,
實例數設爲1024,監控數設爲9000000(建議大於監控目標的總文件數)
改完-需要生效 執行sysctl -p
比如172.16.204.139 文件 同步到 172.16.204.138
172.16.204.138 安裝
安裝rsync
修改/etc/rsyncd.conf
#[global]設置全局變量
uid=0
gid=0
max connections=50
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsyncd.server
hosts allow = 172.16.204.138
hosts deny = *
#上傳文件
[UploadFile]
path = /data/syhd_storage/game/uploadCommentImg
comment = UploadFile
ignore errors
read only = yes
list = yes
auth users = work
secrets file = /etc/rsyncd.server
修改 /etc/rsync.secrets (權限需要600)
rsynclsl:hetao123456
配置後好啓動同步功能:
rsync --daemon --config=/etc/rsyncd.conf
172.16.204.139
安裝rsync+inotify
安裝rsync和inotify(rsync只安裝不啓動不配置)
1 |
|
3、inotify是一種強大的、細粒度的、異步的文件系統事件控制機制。linux內核從2.6.13起,加入了inotify支持,通過inotify可以監控文件系統中添加、刪除、修改、移動等各種事件,利用這個內核接口,第三方軟件就可以監控文件系統下文件的各種變化情況,而inotify-tools正是實施監控的軟件。
1 2 3 4 5 |
#./configure --prefix=/usr/local/inotify
|