我有一个很长的 Linux csh 命令,可以查找 /tars/ 并压缩目录的所有子目录中的所有文件。看起来像这样:
find /dir1/dir2/* -mtime -1 -type -f -print0 | xargs -0 tar -zcf /dir1/dir3/log_archive.tar.gz
我将其修改为 AIX,如下所示(我们的系统上同时有 Linux 和 AIX 机器。):
find /dir1/dir2/* -mtime -1 -type -f -print | xargs tar -cf /dir1/dir3/log_archive.tar
这只会创建 tar 文件,因为 AIX 不允许在 tar 命令上使用 z(ip) 选项。我正在努力添加拉链部分。
我知道我可以创建一个多行脚本,并且如果需要的话我会这样做。我宁愿将其保留为单个可执行命令,这样我就可以将其作为一行添加到 crontab 中。它在 Linux 上运行得很好。
将
tar
的输出通过管道传输到 gzip
。
find /dir1/dir2/* -mtime -1 -type -f -print | xargs tar -cf - | gzip > /dir1/dir3/log_archive.tar.gz