我有一台可以通过 SSH 进入的机器,但我需要的日志都单独压缩在一个文件夹中。(/path/to/folder/log_folder/{log1.gz, log2.gz, log3.gz, log4.gz, ...})
我的问题是:我没有权限对它们进行压缩。我可以将它们复制到本地机器,但我不知道如何一次执行多个操作,而且有几十个日志文件。
我如何才能解压缩远程机器上的日志,或者将它们全部复制到本地机器。
答案1
从man scp
:
-r 递归复制整个目录。请注意,scp 会遵循树遍历中遇到的符号链接。
答案2
rsync
对于我来说,为此目的工作做得更好
rsync -avz --progress -e "ssh" remote_user@remoteserver:/path/log/ /local/path/log/
# man rsync
从 man rsync 中提取
NAME
rsync - a fast, versatile, remote (and local) file-copying tool
SYNOPSIS
Local: rsync [OPTION...] SRC... [DEST]
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
...
OPTIONS
...
-v, --verbose increase verbosity
...
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
还有man rsync
大量的信息。