如何将 bash 函数设为 运行 双向 rsync
How to make a bash function to run a bidirectional rsync
我在使用 ssh 连接的服务器上有一个本地文件夹和一个远程文件夹。我没有管理员权限,因此无法安装新软件包,例如使用 unison。我必须经常同步这两个文件夹,而且它们也很大。从 here 我知道要在两侧同步我必须 rsync 两次。一次从服务器到本地:
rsync -Przzuve ssh user@server:/path/to/remote/folder/* /path/to/local/folder
然后反过来,从本地到服务器
rsync -Przzuve ssh /path/to/local/folder/* user@server:/path/to/remote/folder
我想要的是一个命令,如:
rsyncb /path/to/local/folder user@server:/path/to/remote/folder
只需在一个命令中双向同步两个文件夹的内容,而无需担心第一个路径末尾的 -* 选项和 /*...
我发现 this 关于使用给定参数创建 bash 函数,但我不明白如何实现我想要的。如果你能帮助我,我将不胜感激。
定义一个函数即可。
rsyncb() {
rsync -Przzuve ssh ""/* ""
rsync -Przzuve ssh ""/* ""
}
然后像这样使用它:
rsyncb user@server:/path/to/remote/dir /path/to/local/dir
我在使用 ssh 连接的服务器上有一个本地文件夹和一个远程文件夹。我没有管理员权限,因此无法安装新软件包,例如使用 unison。我必须经常同步这两个文件夹,而且它们也很大。从 here 我知道要在两侧同步我必须 rsync 两次。一次从服务器到本地:
rsync -Przzuve ssh user@server:/path/to/remote/folder/* /path/to/local/folder
然后反过来,从本地到服务器
rsync -Przzuve ssh /path/to/local/folder/* user@server:/path/to/remote/folder
我想要的是一个命令,如:
rsyncb /path/to/local/folder user@server:/path/to/remote/folder
只需在一个命令中双向同步两个文件夹的内容,而无需担心第一个路径末尾的 -* 选项和 /*...
我发现 this 关于使用给定参数创建 bash 函数,但我不明白如何实现我想要的。如果你能帮助我,我将不胜感激。
定义一个函数即可。
rsyncb() {
rsync -Przzuve ssh ""/* ""
rsync -Przzuve ssh ""/* ""
}
然后像这样使用它:
rsyncb user@server:/path/to/remote/dir /path/to/local/dir