rsync
Văn chương mục lục
1. rsync giản giới
rsync
Thịlinux
Hệ thống hạ đích sổ cư kính tượng bị phân công cụ. Sử dụng khoái tốc tăng lượng bị phân công cụRemote Sync
Khả dĩ viễn trình đồng bộ, chi trì bổn địa phục chế, hoặc giả dữ kỳ thaSSH
,rsync
Chủ cơ đồng bộ.
2. rsync đặc tính
rsync
Chi trì ngận đa đặc tính:
- Khả dĩ kính tượng bảo tồn chỉnh cá mục lục thụ hòa văn kiện hệ thống
- Khả dĩ ngận dung dịch tố đáo bảo trì nguyên lai văn kiện đích quyền hạn, thời gian, nhuyễn ngạnh liên tiếp đẳng đẳng
- Vô tu đặc thù quyền hạn tức khả an trang
- Khoái tốc: Đệ nhất thứ đồng bộ thời
rsync
Hội phục chế toàn bộ nội dung, đãn tại hạ nhất thứ chỉ truyện thâu tu cải quá đích văn kiện.rsync
Tại truyện thâu sổ cư đích quá trình trung khả dĩ thật hành áp súc cập giải áp súc thao tác, nhân thử khả dĩ sử dụng canh thiếu đích đái khoan - An toàn: Khả dĩ sử dụng
scp
,ssh
Đẳng phương thức lai truyện thâu văn kiện, đương nhiên dã khả dĩ thông quá trực tiếp đíchsocket
Liên tiếp - Chi trì nặc danh truyện thâu, dĩ phương tiện tiến hành võng trạm kính tượng
3. rsync đích ssh nhận chứng hiệp nghị
rsync
Mệnh lệnh lai đồng bộ hệ thống văn kiện chi tiền yếu tiên đăng lụcremote
Chủ cơ nhận chứng, nhận chứng quá trình trung dụng đáo đích hiệp nghị hữu 2 chủng:
ssh
Hiệp nghịrsync
Hiệp nghị
rsync server` đoan bất dụng khải động `rsync` đích `daemon` tiến trình, chỉ yếu hoạch thủ `remote host` đích dụng hộ danh hòa mật mã tựu khả dĩ trực tiếp `rsync` đồng bộ văn kiện `rsync server` đoan nhân vi bất dụng khải động `daemon` tiến trình, sở dĩ dã bất dụng phối trí văn kiện `/etc/rsyncd.conf
ssh
Nhận chứng hiệp nghị cânscp
Đích nguyên lý thị nhất dạng đích, như quả tại đồng bộ quá trình trung bất tưởng thâu nhập mật mã tựu dụngssh-keygen -t rsa
Đả thông thông đạo
// giá chủng phương thức mặc nhận thị tỉnh lược liễu -e ssh đích, dữ hạ diện đẳng giới:
rsync -avz /SRC -e ssh [email protected]:/DEST
-a // văn kiện túc chủ biến hóa, thời gian trạc bất biến
-z // áp súc sổ cư truyện thâu
// đương ngộ đáo yếu tu cải đoan khẩu đích thời hầu, ngã môn khả dĩ:
rsync -avz /SRC -e "ssh -p2222" [email protected]:/DEST
// tu cải liễu ssh hiệp nghị đích đoan khẩu, mặc nhận thị 22
4. rsync bộ thự
1.Hoàn cảnh phối trí
// nguyên chủ cơ: 192.168.116.146
// mục tiêu chủ cơ: 192.168.116.147
2.Tu cải chủ cơ danh
[root@localhost ~]# hostnamectl set-hostname src
[root@localhost ~]# bash
Welcome to4.19.0-91.82.152.uelc20.x86_64
[root@src ~]#
[root@localhost ~]# hostnamectl set-hostname dest
[root@localhost ~]# bash
Welcome to4.19.0-91.82.152.uelc20.x86_64
[root@dest ~]#
3.Quan bế phòng hỏa tường
[root@src ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@src ~]# vim /etc/selinux/config
SELINUX=disabled
[root@src ~]# setenforce 0
[root@dest ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@dest ~]# vim /etc/selinux/config
SELINUX=disabled
[root@dest ~]# setenforce 0
4.Bản bổn
[root@src ~]# cat /etc/os-release
PRETTY_NAME="UOS Server 20"
NAME="UOS Server 20"
VERSION_ID="20"
VERSION="20"
ID=uos
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="https://bbs.chinauos.com/"
VERSION_CODENAME=kongzi
PLATFORM_ID="platform:uelc20"
[root@dest ~]# cat /etc/os-release
PRETTY_NAME="UOS Server 20"
NAME="UOS Server 20"
VERSION_ID="20"
VERSION="20"
ID=uos
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="https://bbs.chinauos.com/"
VERSION_CODENAME=kongzi
PLATFORM_ID="platform:uelc20"
5.An trang rsync
[root@src ~]# yum -y install rsync
Hoàn tất!
[root@dest ~]# yum -y install rsync
Hoàn tất!
6.Đồng bộ tư nguyên
// đồng bộ văn kiện
[root@dest ~]# ls /tmp
qtsingleapp-uosdev-2dc4-0-lockfile systemd-private-4e54a31f722d460b928dcadf1e9821b9-chronyd.service-eVTFex
qtsingleapp-uoslic-e6e4-0 systemd-private-4e54a31f722d460b928dcadf1e9821b9-systemd-logind.service-s1htvL
qtsingleapp-uoslic-e6e4-0-lockfile
[root@src ~]# rsync -avz anaconda-ks.cfg [email protected]:/tmp
The authenticity ofhost'192.168.116.147 (192.168.116.147)'can't be established.
ECDSA key fingerprint is SHA256:NmTmj8AZttR+QqiPin3+KkuKagCElpgZ5IXN6TU25oc.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.116.147' (ECDSA) to the list of known hosts.
UOS Server 20 1060a
[email protected]'s password:
sending incrementalfilelist
anaconda-ks.cfg
sent769bytes received35bytes55.45bytes/sec
total size is1,237speedup is1.54
[root@dest ~]# ls /tmp
anaconda-ks.cfg qtsingleapp-uoslic-e6e4-0 systemd-private-4e54a31f722d460b928dcadf1e9821b9-chronyd.service-eVTFex
qtsingleapp-uosdev-2dc4-0-lockfile qtsingleapp-uoslic-e6e4-0-lockfile systemd-private-4e54a31f722d460b928dcadf1e9821b9-systemd-logind.service-s1htvL
// đồng bộ mục lục
[root@src ~]# mkdir /root/runtime
[root@src ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg runtime
[root@src ~]# cd runtime
[root@src runtime]# touch 123.txt
[root@src runtime]# ls
123.txt
[root@dest ~]# mkdir /root/hl
[root@dest ~]# ls
anaconda-ks.cfg hl initial-setup-ks.cfg
[root@dest ~]# ls hl
[root@src ~]# rsync -avz /root/runtime [email protected]:/root/hl
UOS Server201060a
[email protected]'s password:
sending incremental file list
runtime/
runtime/123.txt
sent 121 bytes received 39 bytes 21.33 bytes/sec
total size is 0 speedup is 0.00
[root@dest ~]# ls hl
runtime
[root@dest ~]# tree hl
hl
└── runtime
└── 123.txt
1 directory, 1 file
7. Bị phân
// bị phân mục lục
[root@src ~]# rsync -avz runtime abc
sending incremental file list
created directory abc
runtime/
runtime/123.txt
sent 121 bytes received 65 bytes 372.00 bytes/sec
total size is 0 speedup is 0.00
[root@src ~]# ls
abc anaconda-ks.cfg initial-setup-ks.cfg runtime
[root@src ~]# ll -ih
Tổng dụng lượng 12K
1419921 drwxr-xr-x 3 root root 21 12 nguyệt 14 14:34 abc
67771613 -rw------- 1 root root 1.3K 12 nguyệt 14 12:58 anaconda-ks.cfg
67771628 -rw------- 1 root root 5.5K 12 nguyệt 14 13:16 initial-setup-ks.cfg
101572737 drwxr-xr-x 2 root root 21 12 nguyệt 14 14:26 runtime
// bị phân văn kiện
[root@src ~]# rsync -avz anaconda-ks.cfg 123.txt
sending incremental file list
anaconda-ks.cfg
sent 769 bytes received 35 bytes 1,608.00 bytes/sec
total size is 1,237 speedup is 1.54
[root@src ~]# ll -ih
Tổng dụng lượng 16K
67149098 -rw------- 1 root root 1.3K 12 nguyệt 14 12:58 123.txt
1419921 drwxr-xr-x 3 root root 21 12 nguyệt 14 14:34 abc
67771613 -rw------- 1 root root 1.3K 12 nguyệt 14 12:58 anaconda-ks.cfg
67771628 -rw------- 1 root root 5.5K 12 nguyệt 14 13:16 initial-setup-ks.cfg
101572737 drwxr-xr-x 2 root root 21 12 nguyệt 14 14:26 runtime
8. Đồng bộ san trừ tư nguyên
[root@src ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg runtime
[root@src ~]# ls runtime
123.txt
[root@dest ~]# ls
anaconda-ks.cfg hl initial-setup-ks.cfg
[root@dest ~]# tree hl
hl
└── runtime
└── 123.txt
1 directory, 1 file
[root@src ~]# rm -rf /root/runtime/123.txt
[root@src ~]# ls runtime
[root@src ~]# rsync -avz --delete /root/runtime [email protected]:/root/hl
UOS Server 20 1060a
[email protected]'s password:
sending incrementalfilelist
deleting runtime/123.txt
runtime/
sent61bytes received39bytes13.33bytes/sec
total size is0speedup is0.00
[root@dest ~]# tree hl
hl
└── runtime
1directory,0files
// canh cải tư nguyên đồng bộ
[root@src ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg runtime
[root@src ~]# cd runtime
[root@src runtime]# touch 123 456 789
[root@src runtime]# ls
123456789
[root@src runtime]# cd
[root@src ~]# rsync -avz /root/runtime [email protected]:/root/hl
UOS Server201060a
[email protected]'s password:
sending incremental file list
runtime/
runtime/123
runtime/456
runtime/789
sent 219 bytes received 77 bytes 45.54 bytes/sec
total size is 0 speedup is 0.00
[root@dest ~]# tree hl
hl
└── runtime
├── 123
├── 456
└── 789
1 directory, 3 files
9. Miễn mật đăng nhập truyện thâu
[root@src ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:CiVd9ysra2OrDrzavQvRp+1DrzWIK0S4YL9V1orQBBM root@src
The key's randomart image is:
+---[RSA3072]----+
|Eo..|
|.o...|
|.+ o..|
|.....=o..|
|...o+=S..|
|.o.=B..o|
|.* +.+.+|
|o.=o=+..|
|..ooB*==|
+----[SHA256]-----+
[root@src ~]# ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s)to be installed:"/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to loginwith the new key(s),to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO:1key(s)remain to be installed --ifyou are prompted now it is toinstallthe new keys
UOS Server201060a
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]' "
and check tomakesure that only the key(s)you wanted were added.
[root@src ~]# ls.ssh
id_rsa id_rsa.pub known_hosts
[root@src ~]# cd /runtime
[root@src runtime]# ls
test
[root@src runtime]# mkdir test2
[root@src runtime]# ls
testtest2
[root@src ~]# rsync -avz /root/runtime [email protected]:/root/hl
UOS Server201060a
sending incrementalfilelist
sent78bytes received17bytes190.00bytes/sec
total size is0speedup is0.00
[root@dest ~]# ls /hl
runtimetest
[root@dest ~]# ls /hl/runtime
testtest2
5. rsync+inotify
rsync
Dữ truyện thống đíchcp
,tar
Bị phân phương thức tương bỉ,rsync
Cụ hữu an toàn tính cao, bị phân tấn tốc, chi trì tăng lượng bị phân đẳng ưu điểm, thông quársync
Khả dĩ giải quyết đối thật thời tính yếu cầu bất cao đích sổ cư bị phân nhu cầu, lệ như định kỳ đích bị phân văn kiện phục vụ khí sổ cư đáo viễn đoan phục vụ khí, đối bổn địa từ bàn định kỳ tố sổ cư kính tượng đẳng.
Tùy trứ ứng dụng hệ thống quy mô đích bất đoạn khoách đại, đối sổ cư đích an toàn tính hòa khả kháo tính dã đề xuất đích canh hảo đích yếu cầu,rsync
Tại cao đoan nghiệp vụ hệ thống trung dã trục tiệm bạo lộ xuất liễu ngận đa bất túc, thủ tiên,rsync
Đồng bộ sổ cư thời, nhu yếu tảo miêu sở hữu văn kiện hậu tiến hành bỉ đối, tiến hành soa lượng truyện thâu. Như quả văn kiện sổ lượng đạt đáo liễu bách vạn thậm chí thiên vạn lượng cấp, tảo miêu sở hữu văn kiện tương thị phi thường háo thời đích. Nhi thả chính tại phát sinh biến hóa đích vãng vãng thị kỳ trung ngận thiếu đích nhất bộ phân, giá thị phi thường đê hiệu đích phương thức. Kỳ thứ,rsync
Bất năng thật thời đích khứ giam trắc, đồng bộ sổ cư, tuy nhiên tha khả dĩ thông quálinux
Thủ hộ tiến trình đích phương thức tiến hành xúc phát đồng bộ, đãn thị lưỡng thứ xúc phát động tác nhất định hội hữu thời gian soa, giá dạng tựu đạo trí liễu phục vụ đoan hòa khách hộ đoan sổ cư khả năng xuất hiện bất nhất trí, vô pháp tại ứng dụng cố chướng thời hoàn toàn đích khôi phục sổ cư. Cơ vu dĩ thượng nguyên nhân,rsync
+inotify
Tổ hợp xuất hiện liễu!
Inotify
Thị nhất chủng cường đại đích, tế lạp độ đích, dị bộ đích văn kiện hệ thống sự kiện giam khống cơ chế,linux
Nội hạch tòng2.6.13
Khởi, gia nhập liễuInotify
Chi trì, thông quáInotify
Khả dĩ giam khống văn kiện hệ thống trung thiêm gia, san trừ, tu cải, di động đẳng các chủng tế vi sự kiện, lợi dụng giá cá nội hạch tiếp khẩu, đệ tam phương nhuyễn kiện tựu khả dĩ giam khống văn kiện hệ thống hạ văn kiện đích các chủng biến hóa tình huống, nhiinotify-tools
Tựu thị giá dạng đích nhất cá đệ tam phương nhuyễn kiện.
Tại tiền diện hữu giảng đáo, rsync khả dĩ thật hiện xúc phát thức đích văn kiện đồng bộ, đãn thị thông quácrontab
Thủ hộ tiến trình phương thức tiến hành xúc phát, đồng bộ đích sổ cư hòa thật tế sổ cư hội hữu soa dị, nhiinotify
Khả dĩ giam khống văn kiện hệ thống đích các chủng biến hóa, đương văn kiện hữu nhậm hà biến động thời, tựu xúc phátrsync
Đồng bộ, giá dạng cương hảo giải quyết liễu đồng bộ sổ cư đích thật thời tính vấn đề.
Phối trí hoàn cảnh
1.Hoàn cảnh phối trí
// nguyên chủ cơ: 192.168.116.146
// mục tiêu chủ cơ: 192.168.116.147
2.Tu cải chủ cơ danh
[root@localhost ~]# hostnamectl set-hostname src
[root@localhost ~]# bash
Welcome to4.19.0-91.82.152.uelc20.x86_64
[root@src ~]#
[root@localhost ~]# hostnamectl set-hostname dest
[root@localhost ~]# bash
Welcome to4.19.0-91.82.152.uelc20.x86_64
[root@dest ~]#
3.Quan bế phòng hỏa tường
[root@src ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@src ~]# vim /etc/selinux/config
SELINUX=disabled
[root@src ~]# setenforce 0
[root@dest ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@dest ~]# vim /etc/selinux/config
SELINUX=disabled
[root@dest ~]# setenforce 0
Tại mục tiêu phục vụ khí thượng tố dĩ hạ thao tác ( tiên an trang rsync tịnh khải động ):
1.An trang
[root@dest ~]# yum list all | grep rsync
rsync.x86_643.1.3-19.uelc20 @UnionTechOS-20-BaseOS
apache-ranger-usersync.x86_642.1.0-3.uelc20.01 UnionTechOS-20-Plus
libguestfs-rsync.x86_641:1.44.0-9.0.1.module+uelc20+1093+2b4389a2.01 UnionTechOS-20-AppStream
librsync.x86_642.3.1-1.uelc20.1 UnionTechOS-20-Plus
librsync-devel.x86_642.3.1-1.uelc20.1 UnionTechOS-20-Plus
librsync-doc.noarch2.3.1-1.uelc20.1 UnionTechOS-20-Plus
rsync-bpc.x86_643.1.2.0-5.uelc20.1 UnionTechOS-20-Plus
rsync-daemon.noarch3.1.3-19.uelc20 UnionTechOS-20-BaseOS
[root@dest ~]# yum -y install rsync-daemon // an trang rsync khải động đích phục vụ
Hoàn tất!
2.Hướng phối trí văn kiện thiêm gia nội dung
[root@dest ~]# vim /etc/rsyncd.conf
[root@dest ~]# tail -20 /etc/rsyncd.conf
# path = /home/ftp
# comment = ftp export area
logfile=/var/log/rsyncd.log // tòng giá lí khai thủy, bả hạ diện đích nội dung gia đáo phối trí văn kiện
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsync.lock
secretsfile=/etc/rsync.pass // giá lí đích mật mã vị trí khả dĩ tự định nghĩa, bất nhất định phi yếu tại /etc/ hạ diện
[etc_from_client]// nguyên chủ cơ đồng bộ sổ cư đích vị trí
path=/hl/ // đồng bộ đáo mục tiêu chủ cơ đích lộ kính
comment=syncetc from client
uid=root
gid=root
port=873
ignore errors // xuất hiện thác ngộ khả dĩ hốt lược
usechroot=no // duẫn hứa nhuyễn liên tiếp đích phương thức đồng bộ
readonly=no
list=no
max connections=200
timeout=600
authusers=admin
[root@dest ~]# mkdir /hl
3.Sang kiến dụng hộ nhận chứng văn kiện
[root@dest ~]# echo 'admin:123456' > /etc/rsync.pass
[root@dest ~]# cat /etc/rsync.pass
admin:123456
// thiết trí văn kiện quyền hạn
[root@dest ~]# chmod 600 /etc/rsync.pass
[root@dest ~]# ll /etc/rsync.pass
-rw-------1root root1312Nguyệt1415:19 /etc/rsync.pass
4.Khải động rsync tịnh thiết trí khai cơ tự khải
[root@dest ~]# systemctl enable --now rsyncd
Created symlink /etc/systemd/system/multi-user.target.wants/rsyncd.service → /usr/lib/systemd/system/rsyncd.service.
[root@dest ~]# systemctl status rsyncd
● rsyncd.service - fast remotefilecopy program daemon
Loaded: loaded(/usr/lib/systemd/system/rsyncd.service;enabled;vendor preset: disabled)
Active: active(running)since Thu2023-12-1415:22:18 CST;19s ago
Main PID:357602(rsync)
Tasks:1
Memory:192.0K
CGroup: /system.slice/rsyncd.service
└─357602 /usr/bin/rsync--daemon--no-detach
12Nguyệt1415:22:18 dest systemd[1]:Started fast remotefilecopy program daemon.
[root@dest ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN050.0.0.0:8730.0.0.0:*
LISTEN01280.0.0.0:220.0.0.0:*
LISTEN05127.0.0.1:6310.0.0.0:*
LISTEN05[::]:873[::]:*
LISTEN0128[::]:22[::]:*
LISTEN05[::1]:631[::]:*
Tại nguyên phục vụ khí thượng tố dĩ hạ thao tác ( tiên an trang rsync tịnh khải động ):
1.Sang kiến nhận chứng mật mã văn kiện
[root@src ~]# echo '123456' > /etc/rsync.pass // giá cá thượng diện đích mật mã yếu cân mục tiêu chủ cơ thượng diện đích nhất trí, tồn phóng vị trí khả dĩ bất nhất dạng
[root@src ~]# cat /etc/rsync.pass
123456
2.Thiết trí văn kiện quyền hạn, chỉ thiết trí văn kiện sở hữu giả cụ hữu độc thủ, tả nhập quyền hạn tức khả
[root@src ~]# chmod 600 /etc/rsync.pass
[root@src ~]# ll /etc/rsync.pass
-rw-------1root root712Nguyệt1415:50 /etc/rsync.pass
3.Tại nguyên phục vụ khí thượng sang kiến trắc thí mục lục, nhiên hậu tại nguyên phục vụ khí vận hành dĩ hạ mệnh lệnh
[root@src ~]# mkdir -pv /runtime/test
mkdir: Dĩ sang kiến mục lục'/runtime'
mkdir: Dĩ sang kiến mục lục'/runtime/test'
[root@src ~]# ls /runtime
test
[root@src ~]# rsync -avH --port 873 --progress --delete /runtime/test [email protected]::etc_from_client --password-file=/etc/rsync.pass
sending incrementalfilelist
test/
sent62bytes received24bytes172.00bytes/sec
total size is0speedup is0.00
[root@dest ~]# ls /hl
test
4.An trang inotify-tools công cụ, thật thời xúc phát rsync tiến hành đồng bộ
// tra khán phục vụ khí nội hạch thị phủ chi trì inotify
[root@src ~]# ll /proc/sys/fs/inotify/
Tổng dụng lượng0
-rw-r--r--1root root012Nguyệt1416:03 max_queued_events
-rw-r--r--1root root012Nguyệt1416:03 max_user_instances
-rw-r--r--1root root012Nguyệt1416:03 max_user_watches
// an trang inotify-tools
// khả dĩ trực tiếp dụng yum list all|grepinotify tra trảo, trực tiếp hạ, như quả một hữu đích thoại hạ cá epel-release nguyên tái hạ tái
[root@src ~]# wget https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/i/inotify-tools-3.14-19.el8.x86_64.rpm
[root@src ~]# yum -y install inotify-tools-3.14-19.el8.x86_64.rpm
5.Tả đồng bộ cước bổn, thử bộ nãi tối tối trọng yếu đích nhất bộ, thỉnh thận chi hựu thận. Nhượng cước bổn tự động khứ kiểm trắc ngã môn chế định đích mục lục hạ
// văn kiện phát sinh đích biến hóa, nhiên hậu tái chấp hành rsync đích mệnh lệnh bả tha đồng bộ đáo ngã môn đích phục vụ khí đoan khứ
// sang kiến mục lục, tại mục lục hạ sang kiến nhất cá văn kiện
[root@src ~]# mkdir /scripts
[root@src ~]# touch /scripts/inotify.sh
// thiết trí quyền hạn
[root@src ~]# chmod 755 /scripts/inotify.sh
[root@src ~]# ll /scripts/inotify.sh
-rwxr-xr-x1root root012Nguyệt1417:41 /scripts/inotify.sh
// biên tập văn kiện, hướng lí diện tả nhập cước bổn
[root@src ~]# vim /scripts/inotify.sh
[root@src ~]# cat /scripts/inotify.sh
#!/bin/bash
host=192.168.116.147
src=/runtime
des=etc_from_client
password=/etc/rsync.pass
user=admin
inotifywait=/usr/bin/inotifywait
$inotifywait-mrq--timefmt'%Y%m%d %H:%M'--format'%T %w%f%e'-emodify,delete,create,attrib$src\
|whilereadfiles;do
rsync-avzP--delete--timeout=100--password-file=${password}$src$user@$host::$des
echo"${files}was rsynced ">>/tmp/rsync.log2>&1
done
6.Khải động cước bổn
[root@src ~]# nohup bash /scripts/inotify.sh &
[1]107195
[root@src ~]# nohup: Hốt lược thâu nhập tịnh bả thâu xuất truy gia đáo 'nohup.out'
[root@src ~]# ps -ef|grep inotify
root1071951485017:46 pts/0 00:00:00bash/scripts/inotify.sh
root107196107195017:46 pts/0 00:00:00 /usr/bin/inotifywait-mrq--timefmt%Y%m%d %H:%M--format%T %w%f%e-emodify,delete,create,attrib /runtime
root107197107195017:46 pts/0 00:00:00bash/scripts/inotify.sh
root1091471485017:46 pts/0 00:00:00grep--color=auto inotify
7.Tại nguyên phục vụ khí thượng sinh thành nhất cá tân văn kiện
[root@src ~]# ls /runtime/test
[root@src ~]# echo 'hello world' > /runtime/test/abc
[root@src ~]# cat /runtime/test/abc
hello world
[root@dest ~]# cat /hl/runtime/test/abc
hello world
8.Tra khán inotify sinh thành đích nhật chí
[root@src ~]# tail /tmp/rsync.log
2023121417:49 /runtime/test/abcCREATE was rsynced
2023121417:49 /runtime/test/abcMODIFY was rsynced
Thiết trí cước bổn khai cơ tự động khải động:
[root@src ~]# ll /etc/rc.d/rc.local
-rw-r--r--1root root50612Nguyệt1413:00 /etc/rc.d/rc.local
[root@src ~]# chmod +x /etc/rc.d/rc.local
[root@src ~]# vim /etc/rc.d/rc.local
[root@src ~]# tail -2 /etc/rc.d/rc.local
/sbin/sysctl-p/etc/sysctl.conf
nohup/bin/bash /scripts/inotify.sh // bả giá nhất đoạn thiêm gia đáo khai cơ tự khải đích văn kiện trung /etc/rc.local, gia chấp hành quyền hạn
// trắc thí
[root@src ~]# reboot
Liên tiếp đoạn khai
Liên tiếp đoạn khai
Liên tiếp chủ cơ...
UOS Server201060a
Liên tiếp chủ cơ thành công
Welcome to UOS Server20
Last login: Thu Dec1417:50:492023from192.168.116.1
Welcome to4.19.0-91.82.152.uelc20.x86_64
[root@src ~]# echo 'hello china' >> /runtime/test/abc
[root@src ~]# cat /runtime/test/abc
hello world
hello china
[root@dest ~]# cat /hl/runtime/test/abc
hello world
hello china