gpt4 book ai didi

linux - 超过 15 天的 unix 脚本存档日志文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:22:43 24 4
gpt4 key购买 nike

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

脚本:

#!/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

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

错误:

./backuplogs.sh: line 5: /bin/tar: Argument list too long.

如果我在脚本中遗漏了某些内容,请告知

感谢您的帮助基兰

最佳答案

您的错误消息是由于 execve(2) 失败造成的您的 shell 使用 E2BIG 生成 /bin/tar 的文件。

阅读 tar(1) 的手册页。你可以使用

-T, --files-from=FILE

Get names to extract or create from FILE.

并将其与脚本的其他部分结合起来(例如,将 find 命令输出重定向到某个临时文件,由 -T 传递到 tar ....)。

但正如 hek2mgl 所评论的你真的想要logrotate(8)

您还可以使用其他存档器,例如afio(1)

关于linux - 超过 15 天的 unix 脚本存档日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38747483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com