rsync定时加脚本实现本地到阿里的ftp文件同步
現在需要實現西安ftp到阿里服務器的備份
1.西安為B,阿里為A
2.阿里里面的rsync是已經安裝好的,查看了是依賴gti安裝的,雖然版本不一樣但是不影響使用
3.在A里新建rsync配置文件
4.建連接使用的用戶密碼
5.到B端進行手動同步實驗
6.手動沒問題之后進行腳本制作,然后定時運行
接下來開始操作,進入A端服務器新建rsyncd.conf配置文件
vim /etc/rsyncd.conf
我這里已經建好了
UID = #我直接給的root用戶
gie = #我直接給的root組
port= #默認的873接口
address= #默認自己A服務器的地址
use chroot = 3表示連接成功后自動切換目錄
max connections = 3最大連接數
pid file = #pid文件存放的位置
lock file = #鎖文件存放偽裝
log file = #日志文件存放位置
downloads ?#(模塊名)這里比較重要,rsync客戶機同步的時候服務器的目錄直接填模塊名,填目錄會報錯
patch = #服務器備份文件的位置
read only = ?#是允許別的客戶端向本機的服務器端上傳
list = ?#允許列表
hosts allow = #允許的主機 (可以是IP也可以是IP段,加,號隔開)
hosts deny = #不允許的主機
auth users = # 備份連接使用的賬戶
secrets file = # 備份連接使用的賬戶密碼(這里直接新建個文件即可)如下圖
這里我們A端服務器就配置完成了
需要注意的1.是可以把ftp-xa去掉,這樣就都同步到uploads里面反正我們同步的文件夾帶各自的名字
? ? ? ? ? ? ? ? 2.允許的主機后面需要添加,要么就直接改成0.0.0.0/24 ,允許所有主機
? ? ? ? ? ? ? ? 3.用戶名密碼我已經做好,可以不用重新弄了,你B端的本地密碼建好就行(密碼必須跟服務器賬戶的密碼相同),位置隨便,我這里的位置是服務器賬戶密碼存放的位置。
接下來到B端西安
先安裝rsync,我直接用的yum安裝的,安裝完成之后測試備份即可如圖
rsync -aczp(這里可以看命令介紹,我這里選擇的a:歸檔模式,c:對文件進行效驗,z:對備份的文件傳輸時進行壓縮處理,P:保持文件權限)
這個-aczp可以根據喜好來更換
這里手動進行同步,提示輸入密碼說明連接正常,輸入密碼之后就會進行傳輸顯示。
為了方便我這里是這個思路進行的
1.先建個腳本
2.每天定時運行腳本
OK,接下來是腳本的運行和定時同步
直接vim /root/rsync.sh
rsync -avrP --progress --password-file=/usr/rsync.pwd ?/root/ftp/* backup@121.41.35.149::downloads
?#rsync 后面加輸出模式,--progress:顯示傳輸過程 --passwd 后面是保存密碼的位置,password-file=/usr/rsync.pwd(看圖就明白了)
因為正常手動同步會提示輸入密碼,這里直接加--passwd 讓它自動填寫密碼,就可以不用手動輸入密碼了,后面是需要備份的目錄,然后跟著備份到服務器的用戶名和地址 后面是模塊名,在服務器的配置里面模塊名下面是服務器的文件配置,這么運行會自動備份到
腳本完成了,可以直接運行腳本試試效果,要是沒問題的話我們進行定時運行腳本
直接crontab -e
會進入編輯模式
00 3 * * * /root/rsync.sh
我這里寫的每天3點鐘運行sh腳本
本文轉自 Bruceweien 51CTO博客,原文鏈接:http://blog.51cto.com/bruceweien/1932383
總結
以上是生活随笔為你收集整理的rsync定时加脚本实现本地到阿里的ftp文件同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何找回被create or repla
- 下一篇: java 阻塞队列 LinkedBloc