监控Linux目录,并将目录新增的文件同步到其他服务器
#!/bin/sh
#add for chkconfig
#chkconfig: 2345 70 30
#description: the description of the shell #关于脚本的简短描述
#processname: rsync_inotify_gitlab_backup #第一个进程名,后边设置自启动的时候会用到
#2019-09-27
#本地需要同步的目录
SRC=/root/file/test_file1
##远程目录
DATA=/root/file/test_file2
##远程同步IP
IP=122.26.172.789(你要传送的ip地址)
inotifywait -mrq --timefmt '%Y-%m-%d-%H:%M' --format '%T %w %f' -e modify,delete,create,attrib,move $SRC | while read file
do
rsync -aP --delete $SRC root@$IP:$DATA
#若ssh端口非默认22端口,用以下命令
# rsync -aP "-e ssh -p 23" --delete $SRC root@$IP:$DATA
done
本脚本要用到远程登陆,需配置远程免密登录,如果像我一样只在一个服务器上测试只需执行
cd ~/.ssh
然后执行ssh-keygen -t rsa
一直点回车会看到
然后执行cat id_rsa.pub >>authorized_keys
然后看见
就可以测试了
如果要两台机器则看下列链接
https://blog.csdn.net/ywl470812087/article/details/89817384?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160524266219724842958942%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160524266219724842958942&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-4-89817384.pc_first_rank_v2_rank_v28&utm_term=ssh%E5%85%8D%E5%AF%86%E7%99%BB%E5%BD%95&spm=1018.2118.3001.4449
运行写好的脚本sh inoti.sh
他是时刻检测的,再打开一个端口 在需要检测的目录下 touch 11.11
之后,看原窗口
完成