inotifywait 的 --format 格式定义%T #输出时间格式中定义的时间格式信息,通过 --timefmt option 语法格式指定时间信息%w #事件出现时,监控的文件或目录的名称信息,相当于dirname%f #事件出现时,将显示监控目录下触发事件的文件或目录信息,否则为空,相当于basename%e #显示发生的事件信息,不同的事件默认用逗号分隔%Xe #显示发生的事件信息,不同的事件指定用X进行分隔
例如:监控/data/目录的变化
[root@CentOS8 data]# inotifywait -m --timefmt "%Y-%m-%d %H:%M:%S" --format="%T %w---%f event: %;e" /dataSetting up watches.Watches established.2022-10-24 17:12:57 /data/--- event: OPEN;ISDIR2022-10-24 17:12:57 /data/--- event: ACCESS;ISDIR2022-10-24 17:12:57 /data/--- event: CLOSE_NOWRITE;CLOSE;ISDIR2022-10-24 17:13:06 /data/---file3 event: CREATE2022-10-24 17:13:06 /data/---file3 event: OPEN2022-10-24 17:13:06 /data/---file3 event: ATTRIB2022-10-24 17:13:06 /data/---file3 event: CLOSE_WRITE;CLOSE
rsync工具rsync有三种工作方式:
- 本地模式:本地文件系统上实现同步 。命令行语法格式为上述"Local"段的格式
- 基于传统的ssh协议,本地主机使用远程shell和远程主机通信
- 作为一个独立服务,本地主机通过网络套接字连接远程主机上的rsync daemon
本地模式:
rsync [OPTION...] SRC... [DEST]
例如:[root@LAP1 data]# rsync file1file111[root@LAP1 data]# lsfile1file11file111file2
基于传统的ssh协议使用格式:Pull:rsync [OPTION...] [USER@]HOST:SRC... [DEST]Push:rsync [OPTION...] SRC... [USER@]HOST:DEST
例如:rsync -av --delete /data/10.0.0.12:/back#不写用户名默认使用的就是当前主机使用的用户
作为一个独立服务:Pull:rsync [OPTION...] [USER@]HOST::SRC... [DEST]rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] #协议的形式访问,效果等同于上面Push:rsync [OPTION...] SRC... [USER@]HOST::DESTrsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
rsync常用选项:-v:显示rsync过程中详细信息 。可以使用"-vvvv"获取更详细信息 。-a --archive :归档模式,表示递归传输并保持文件属性 。-t --times:保持mtime属性 。强烈建议任何时候都加上"-t",否则目标文件mtime会设置为系统时间,导致下次更新,检查出mtime不同从而导致增量传输无效--delete :以SRC为主,对DEST进行同步 。多则删之,少则补之
rsync的软件包:官方网站: http://rsync.samba.org/软件包:rsync,rsync-daemon(CentOS 8)
服务文件:/usr/lib/systemd/system/rsyncd.service
配置文件:/etc/rsyncd.conf
端口:873/tcp
两种方式实现rsync服务器??rsync即可以作为服务器端,也可以作为客户端程序 。
方式一:通过rsync守护进程的方式实现rsync服务
#在备份服务器启动 rsync 进程[root@bakup_server ~]# rsync --daemon #--daemon选项表示启动为守护进程Failed to parse config file: /etc/rsyncd.conf #必须要有这个配置文件才能启动成功[root@bakup_server ~]# touch /etc/rsyncd.conf #需要创建这个配置文件才能正常启动[root@bakup_server ~]# rsync --daemon#启动rsync守护进程[root@bakup_server ~]# ss -ntl#守护进程启动后会监听873端口StateRecv-QSend-QLocal Address:PortPeer Address:PortLISTEN050.0.0.0:8730.0.0.0:*#设置rsync服务器的共享信息[root@bakup_server ~]# cat /etc/rsyncd.conf #等号之间可以有空格[backup]#定义存放数据共享的名字path = /bakup#真实的路径,存放共享文件的路径 (利用rsync将这个目录共享出去,共享出去的名字叫做bakup)read only = no#指定可读写,默认只读[root@bakup_server ~]# rsync --daemon #更改问配置文件以后需要重新开启守护进程才会生效[root@bakup_server ~]# setfacl -m u:nobody:rwx /bakup/ #指定目录给nobody权限,默认用户以nobody访问此目录使用客户端连接rsync备份服务器:#格式 rsync rsync://host 或者 rsync host::客户端查看服务器的情况:[root@data_server ~]# rsync rsync://10.0.0.12#以协议的形式访问backup#共享出来的名字[root@data_server ~]# rsync 10.0.0.12::#以服务的形式访问backup#实现客户端将文件拷贝到rsync共享的目录中注意:传输的时候不管以谁的身份,都会映射为nobody,所以不用写用户名都行[root@data_server ~]# rsync /root/anaconda-ks.cfg root@10.0.0.12::backup[root@bakup_server bakup]# lltotal 8-rw------- 1 nobody nobody 1526 Oct 24 17:48 anaconda-ks.cfg-rw-r--r-- 1 nobody nobody658 Oct 24 17:49 fstab
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 什么是subsignature和return-type-substitutable
- 故事 --- Linux和UNIX之间的那些爱恨与情仇
- Briefings in Bioinformatics-2021 知识图谱-生物信息学-医学顶刊论文:生物信息学中的图表示学习:趋势、方法和应用
- 学步车和助步车的区别
- 自闭症儿童和家人玩吗
- 儿童智能手表用什么卡
- 考公务员的好处和弊端 工资多少
- 麻疹和乙脑打完哭闹怎么回事
- 立秋和秋分有什么区别
- 2022大学毕业生薪酬排名TOP50 哪些大学和专业工资高