我已成功安装Grunt Rsync https://github.com/jedrichards/grunt-rsync并成功将本地文件夹“同步”到远程文件夹。
rsync: {
options: {
args: ["--verbose"],
recursive: true
},
stage: {
options: {
src: "/Applications/MAMP/htdocs/barestrap-wp/library/uploads",
dest: "shared/library/uploads",
host: "barestrap@host.com",
syncDestIgnoreExcl: true
}
}
},
终端的成功响应是:
Shell command was: rsync /Applications/MAMP/htdocs/barestrap-wp/library/uploads barestrap@host.com:shared/library --rsh ssh --recursive --delete --verbose
我的“问题”是它完全覆盖了SSH主机中的“uploads”文件夹,即barestrap@host.com:shared/library/uploads
被删除。我不确定如何从选项中删除--delete
。
我要做的是1)确保SSH uploads文件夹包含来自本地环境的所有文件,和 2)本地环境包含来自远程的所有文件SSH环境。
这个笨拙的任务在第一个目标中取得了部分成功,但我不确定如何实现第二个目标 - 换句话说:
$ rsync barestrap@host.com:shared/library /Applications/MAMP/htdocs/barestrap-wp/library/uploads
非常感谢任何见解。
谢谢!
答案 0 :(得分:1)
您的罪魁祸首是您的选项中的syncDestIgnoreExcl:true设置。从第32期报告到grunt-rsync的对话中,该设置必须为false,以防止目标文件夹清除源目录中不存在的文件。