Linux 超过15天的unix脚本归档日志文件
我在一个目录中有一个日志文件列表,现在已经堆了一年多了。我编写了下面的脚本来归档超过15天的日志文件 脚本: 但是,当我运行脚本时,它会抛出下面的错误 错误: ./backuplogs.sh:第5行:/bin/tar:参数列表太长 如果我在剧本中遗漏了什么,请告诉我 谢谢你的帮助Linux 超过15天的unix脚本归档日志文件,linux,unix,Linux,Unix,我在一个目录中有一个日志文件列表,现在已经堆了一年多了。我编写了下面的脚本来归档超过15天的日志文件 脚本: 但是,当我运行脚本时,它会抛出下面的错误 错误: ./backuplogs.sh:第5行:/bin/tar:参数列表太长 如果我在剧本中遗漏了什么,请告诉我 谢谢你的帮助 Kiran您的错误消息是由于您的shell使用E2BIG的/bin/tar失败造成的 阅读的手册页。你可以用 -T,--files from=文件 获取要从文件中提取或创建的名称 并将其与脚本的其他部分结合起来(例如,
Kiran您的错误消息是由于您的shell使用
E2BIG
的/bin/tar
失败造成的
阅读的手册页。你可以用
-T
,--files from
=文件
获取要从文件中提取或创建的名称
并将其与脚本的其他部分结合起来(例如,将find
命令输出重定向到某个临时文件,由-T
传递到tar
…)
但正如你所评论的,你真的想要
您也可以使用其他归档程序,例如这方面的标准解决方案是
#!/bin/bash
files=($(find /opt/Informatica/9.5.1/server/infa_shared/SessLogs -type f -mtime +15))
file=SessLog_bkup_`date +"%y-%m-%d"`.tar.gz
Backup=/opt/Informatica/9.5.1/server/infa_shared/SessLogs/Backup
tar -zcf $file --remove-files "${files[@]}"
mv $file $Backup