我生成了如下所示的日志文件,并且我需要每天运行脚本,该脚本将列出它们,然后执行2件事。
1-获取以前/昨天的文件并将其传输到x服务器2-获取早于一天的文件并将其传输到y服务器
文件如下所示,我正在尝试以下代码,但无法正常工作。
我们如何将ls -altr
输出传递给gawk
?我们可以建立如下的关联数组吗?
array[index]=ls -altr | awk '{print $6,$7,$8}'
我正在尝试检索以前的日期文件的代码,但无法正常工作
previous_dates=$(date -d "-1 days" '+-%d')
ls -altr |gawk '{if ( $7!=previous_dates ) print $9 }'
-r-------- 1 root root 6291563 Jun 22 14:45 audit.log.4
-r-------- 1 root root 6291619 Jun 24 09:11 audit.log.3
drwxr-xr-x. 14 root root 4096 Jun 26 03:47 ..
-r-------- 1 root root 6291462 Jun 26 04:15 audit.log.2
-r-------- 1 root root 6291513 Jun 27 23:05 audit.log.1
drwxr-x---. 2 root root 4096 Jun 27 23:05 .
-rw------- 1 root root 5843020 Jun 29 14:57 audit.log
要选择昨天修改过的文件,可以使用
find . -daystart -type f -mtime 1
并选择较旧的文件,您可以使用
find . -daystart -type f -mtime +1
例如,可能添加-name
测试以仅选择文件audit.log*
,例如。然后,您可以xargs
用来处理文件,例如
find . -daystart -type f -mtime 1 | xargs -n 1 -I{} scp {} user@server
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句