在 UNIX 中拉取文件和 zip

pulling file and zip while pulling in UNIX

我正在使用 nzsql 从 netezza 服务器生成文件。现在要求的下一部分是将文件压缩并移动到不同的盒子(第二个 unix 盒子)。我可以坐在第一个盒子里实现这个(坐在第一个盒子里我先做 gzip,然后使用 scp 移动文件)。但我的问题是,这可以直接从第二个盒子完成吗?意味着在第一个框中将有将生成 nzsql 的文件,在第二个框中将拉取该文件,并在拉取时将其压缩(使用 mkfifo 或任何其他方式)。在第一个框中,我不希望创建或驻留 zip 文件。请让我知道如何实现。

你可以在你的盒子 2 中,定期 运行:

rsync -azP user@box1:/path/to/your/sync/folder /dst/folder

参数说明直接抄自手册页:

-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)

-r, --recursive recurse into directories

-l, --links copy symlinks as symlinks

-p, --perms preserve permissions

-D same as --devices --specials

--devices preserve device files (super-user only)

--specials preserve special files

-t, --times preserve modification times

-o, --owner preserve owner (super-user only)

-g, --group preserve group

-z, --compress compress file data during the transfer

-P same as --partial --progress

--partial keep partially transferred files

但我怀疑它是否合适。你应该把它从 box1 推到最小化带宽使用。拉动几乎与轮询相同。

参考这里是一个非常完整的教程:https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps