Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 超过15天的unix脚本归档日志文件_Linux_Unix - Fatal编程技术网

Linux 超过15天的unix脚本归档日志文件

Linux 超过15天的unix脚本归档日志文件,linux,unix,Linux,Unix,我在一个目录中有一个日志文件列表,现在已经堆了一年多了。我编写了下面的脚本来归档超过15天的日志文件 脚本: 但是,当我运行脚本时,它会抛出下面的错误 错误: ./backuplogs.sh:第5行:/bin/tar:参数列表太长 如果我在剧本中遗漏了什么,请告诉我 谢谢你的帮助 Kiran您的错误消息是由于您的shell使用E2BIG的/bin/tar失败造成的 阅读的手册页。你可以用 -T,--files from=文件 获取要从文件中提取或创建的名称 并将其与脚本的其他部分结合起来(例如,

我在一个目录中有一个日志文件列表,现在已经堆了一年多了。我编写了下面的脚本来归档超过15天的日志文件

脚本:

但是,当我运行脚本时,它会抛出下面的错误

错误:

./backuplogs.sh:第5行:/bin/tar:参数列表太长

如果我在剧本中遗漏了什么,请告诉我

谢谢你的帮助
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