Linux-实时监控文件修改,并把修改后的文件复制到另一个目录
1、首先确保环境有安装inotify-tools工具
http://www.daileinote.com/computer/linux_cmd/43
这里提供一个百度的压缩包
链接:https://pan.baidu.com/s/1wp8gsPC7h0qpEj-Ge4xjpQ
提取码:8888
如果安装校验是否安装成功时,其中有报错,
inotifywait: error while loading shared libraries: libinotifytools.so.0: cannot open shared object file: No such file or directoryxxx
可以执行以下命令
**解决方法:** 32位系统:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib/libinotifytools.so.0 64位系统:ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0
2.编写监控脚本
#!/bin/bash TARGET_FILE="/easv82/easv82app/eas/server/lib/sp/example.txt" COPY_TO="/easv82/easv82app/eas/server/deploy/fileserver.ear/easWebClient/lib/sp" LOG_FILE="/easv82/copyJar.log" # 确保备份目录存在 mkdir -p "$COPY_TO" while inotifywait -e modify "$TARGET_FILE"; do USER=$(whoami) TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S") # 将修改后的文件复制到备份目录 cp -f "$TARGET_FILE" "$COPY_TO/" # 记录文件修改信息到日志文件 echo "File $TARGET_FILE was modified by $USER at $TIMESTAMP , COPY to $COPY_TO" >> "$LOG_FILE" done
我这里是将example.txt作为监控对象,将修改后的文件复制到copy_to的路径下,并将更新日志记录到LOG_FILE当中
linux下的docker操作命令及异常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2021-02-26 Liunx常用查找,授权,启动命令