我想知道是否有人可以帮助我尝试解决我的问题。
我编写了一组 shell 脚本,目的是基于审计服务器上的 GOLD 构建审计远程文件系统。
作为其中的一部分,我执行以下操作:
1) 使用 rsync 计算任何新文件或目录,任何修改或删除的文件
2)find ${source_filesystem} -ls
在本地和远程使用以解决权限差异
现在作为其中的一部分,我排除了某些文件或目录,即日志、跟踪文件等。
因此,为了实现这一点,我使用了 2 种方法:
1) RSYNC - 我有一个使用--exclude-from
标志添加的排除列表
2) find -ls
- 我使用一个egrep -v
语句来排除与 rsync 排除列表相同的内容:
例如find -L ${source_filesystem} -ls | egrep -v "$SEXCLUDE_supt"
所以我的问题是我必须维护 2 个单独的列表,这有点像管理员的噩梦。
我正在寻找有关是否可以动态构建可用于 rsync 或find -ls
?
以下是排除列表的格式:
同步:
*.log
*.out
*.csv
logs
shared
tracing
jdk*
8.6_Code
rpsupport
dbarchive
inarchive
comms
PR116PICL
**/lost+found*/
dlxwhsr*
regression
tmp
working
investigation
Investigation
dcsserver_weblogic_*.ear
dcswebrdtEAR_weblogic_*.ear
寻找:
SEXCLUDE_supt="\.log|\.out|\.csv|logs|shared|PR116PICL|tracing|lost\+found|jdk|8\.6\_Code|rpsupport|dbarchive|inarchive|comms|dlxwhsr|regression|tmp|working|investigation|Investigation|dcsserver_weblogic_|dcswebrdtEAR_weblogic_"