我已经开始得到一些问题与损坏的gzip文件。我不确定它何时发生,同事如何设置我们的存储已经退出等,所以我不是cron作业等方面的专家,但这是它今天的样子:
/var/spool/new_files/*.csv
{
daily
rotate 12
missingok
notifempty
delaycompress
compress
sharedscripts
postrotate
service capture_data restart >/dev/null 2>&1 || true
endscript
}
原则上在午夜脚本重新启动var/spool/new_files/
中的所有csv文件,更改它们的名称(增加1)并将其命名为"2"并将其移动到我们的长期存储
我不知道文件是在gzip后损坏的,还是在"传输"过程中发生的。去仓库。如果运行zcat file_name | tail
,就得到invalid compressed data--length error
。此错误每月随机发生1-3次。
所以我要做的第一件事是运行gzip-k
并保留原来的
- 检查文件被压缩后是否损坏<<ul>
- 重试一次/gh>
- 如果这也失败,在日志中添加一个错误
- 停止cron作业
我建议的逻辑有意义吗?如何将其添加到cron作业中有什么建议吗?
看起来还行…如何在不解压的情况下检查Unix .tar.gz文件是否为有效文件?
您可以创建一个.sh,在其中添加您需要的所有命令,然后您可以在crontab中添加脚本.sh:
/var/spool/cron/
如果你想运行. sh脚本与根添加或修改/var/spool/cron/root文件…以类似的方式,您可以添加由其他用户运行的cron。
cron应该是这样的:
0 0 * * * sh <path to your sh>