近期做持续集成打包功能,打包服务器和应用服务器不在同一台机器,为了可以正常下载,我们有一个文件同步的需求
使用了rsync做相关的同步操作;
遇到的问题是同步的时机不好掌握,在手动操作了一段时间rsync之后,觉得做一个根据文件夹变更执行同步操作更高效
网上看到fswatch这个工具,他可以监控文件夹文件的变更,同时有相关的回调,
格式如下:
fswatch -o ~/path/to/watch | xargs -n1 ~/script/to/run/when/files/change.sh
示例脚本change.sh如下
#!/bin/bash
nohup rsync -avz /Users/wuyinggui/rsync/ username@password:/home/centos/rsync > ~/rsync.log
参见 (http://stackoverflow.com/questions/1515730/is-there-a-command-like-watch-or-inotifywait-on-the-mac)