我在服务器上有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函数但我不明白如何实现我想要的。如果你能帮助我,我将不胜感激。
答案 0 :(得分:4)
只需定义一个函数。
rsyncb() {
rsync -Przzuve ssh "$1"/* "$2"
rsync -Przzuve ssh "$2"/* "$1"
}
然后像这样使用它:
rsyncb user@server:/path/to/remote/dir /path/to/local/dir