如何忽略 Bash 脚本中的 FIND 错误?

如何忽略 Bash 脚本中的 FIND 错误?

我正在使用脚本清理 tomcat 网络服务器的日志文件。

问题:

find $file_pattern如果文件模式与任何结果都不匹配,则会返回错误。

以下是由crontab运行的:

arch_logs() {
    for file_pattern; do
        i=1
        for log_file in $(find $file_pattern | sort -r); do
            test $i -eq 1 && ((i=i+1)) && continue;
            sudo gzip "$log_file"
            sudo mv *.gz ./archive/
        done
    done
}

arch_logs 'catalina.2*' 'host-manager.*' 'localhost.*' 'localhost_access_log.*' 'manager.*'

https://yottabrain.org/tomcat/tomcat-log-backup/

结果:find: ‘catalina.2*’: No such file or directory

问题:如何从find函数内部防止这些错误?

相关内容