rsync的自動指令碼實現方案(非rsyncd服務)
1、前言
rsyncd的方式筆者認為方便,但會在系統留下一個被攻擊的服務點,筆者認為用自動函式+普通使用者的方式較安全,故而寫下此文備用。
2、實現
2.1、環境
rsyncSer:
ipaddress=10.168.0.100
client:
ipaddress=10.168.0.8
2.2、yum的安裝
In rsyncSer & client
1
|
yum -y install rsync
|
2.3、服務端配置
In rsyncSer:
1
2
3
4
5
|
mkdir /files
chmod 700 -R /files/
useradd rsuser
echo rspw | passwd --stdin rsuser
setfacl -m u:rsuser:r-x /files
|
以上設定可保障資料的安全,避免其他非root使用者獲取。
2.4、客戶端設定
In client:
2.4.1、建立指令碼資料夾
1
|
mkdir ~ /script
|
2.4.2、建立指令碼
vim編輯~/script/rs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/bin/bash souUser=rsuser #服務端建立的使用者名稱
souPwd=rspw #服務端建立的密碼
souIP=10.168.0.100 #服務端ip address
souDir= /files/ * #服務端的路徑
desDir= /files #客戶端的路徑
auto_rsync () { expect -c " set timeout -1;
spawn rsync -av --delete $2@$3:$4 $5;
expect {
*assword:* {send -- $1
expect {
*denied* { exit 2;}
eof
}
}
eof { exit 1;}
}
"
return $?
} auto_rsync $souPwd $souUser $souIP $souDir $desDir |
以上相當於手動執行:
1
|
rsync -av --delete rsuser@10.168.0.100: /files/ * /files
|
2.4.3、安全設定
1
|
chmod 700 -R ~ /script
|
2.4.4、定時任務
1
|
crontab -e
|
加入內容
1
|
* /15 * * * * sh ~ /script/rs .sh
|
本文轉自 tanzhenchao 51CTO部落格,原文連結:http://blog.51cto.com/cmdschool/1720998,如需轉載請自行聯絡原作者
相關文章
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- 服務自啟指令碼指令碼
- 使用python實現memcached的啟動服務指令碼rcPython指令碼
- oracle10g_自動啟動服務指令碼Oracle指令碼
- 實現指令碼自動部署docker指令碼Docker
- Oracle自動備份指令碼的實現Oracle指令碼
- dataguard switchover的自動化指令碼實現指令碼
- Google 雲服務搭建 git服務,實現Hexo自動部署GoGitHexo
- python實現自動搶課指令碼Python指令碼
- ant指令碼實現的Android自動編譯指令碼Android編譯
- Rsync服務詳解
- flyway實現java 自動升級SQL指令碼JavaSQL指令碼
- shell指令碼實現自動生成awr報告指令碼
- 高可用服務之Keepalived利用指令碼實現服務的可用性檢測指令碼
- shell編寫服務啟動指令碼指令碼
- CentOS 7 - 配置服務實現開機自啟動CentOS
- 利用Python實現自動掃雷小指令碼Python指令碼
- 實現MySQL表結構自動分割槽指令碼MySql指令碼
- 指令碼實現U盤自動掛載(linux)指令碼Linux
- SHELL指令碼實現Oracle自啟動與關閉指令碼Oracle
- Oracle之 服務啟動&停止指令碼與開機自啟動(單例項)Oracle指令碼單例
- 微服務實戰:服務發現的可行方案以及實踐案例微服務
- 使用 Fastlane 實現 iOS 跟 Android 自動打包指令碼ASTiOSAndroid指令碼
- Shell階段04 shell流程之case語句, 服務啟動停止指令碼(rsync, nginx), shell加鎖機制指令碼Nginx
- rsync客戶端一鍵安裝rsync指令碼(原始碼)客戶端指令碼原始碼
- Python定時任務前端專案本地自動打包遠端部署指令碼實現Python前端指令碼
- linux透過shell指令碼實現ssh互動式自動化Linux指令碼
- Linux使用Shell指令碼實現ftp的自動上傳下載Linux指令碼FTP
- 自動ftp指令碼FTP指令碼
- 自動生成Statspack的指令碼指令碼
- shell之最常用的服務指令碼指令碼
- shell指令碼監控啟動停止weblogic服務指令碼Web
- SpringBoot Windows 自啟動 - 透過 Windows Service 服務實現Spring BootWindows
- zabbix系列(九)zabbix3.0實現自動觸發zabbix-agent端shell指令碼任務指令碼
- Linux Default Bootup、Startup、Autoload Configuration file(自啟動服務指令碼)Linuxboot指令碼
- 使用Azure CLI實現自動關閉Azure虛擬機器的指令碼虛擬機指令碼
- [shell]shell指令碼實現每天自動抽取資料插入hive表指令碼Hive
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁