我正在尝试使用以下命令通过 Rsync 备份用户 Chrome 会话:
rsync -e "ssh -i new.key" -r --verbose -tz --stats --progress --delete \
'/cygdrive/c/Users/jay/AppData/Local/Google/Chrome/User Data/Default/Current Session' \
user@host:"/chrome sessions/"
但这并不能完全发挥作用,因为我在服务器上已经存在的会话目录中获得了一个名为 chrome 的文件。
为什么是这样?
答案1
您需要转义“chrome 会话”中的空格:
rsync -e "ssh -i new.key" -r --verbose -tz --stats --progress --delete '/cygdrive/c/Users/jay/AppData/Local/Google/Chrome/User Data/Default/Current Session' user@host:"/chrome\ sessions/"
本地 shell 会解析并删除双引号,将两个单词合并在一起作为 rsync 的单个参数。Rsync 会连接到远程主机并生成一个新 shell。该 shell 会查看二参数:"chrome" 和 "sessions"。如果您有一个带内嵌转义符的引号字符串,则转义符在到达远程主机后仍会保留,并告知 shell 忽略空格。
答案2
尝试一下:
rsync -r --verbose -tz --stats --progress --delete '/cygdrive/c/Users/jay/AppData/Local/Google/Chrome/User Data/Default/Current Session' -e "ssh -i new.key" 用户@主机:"/chrome 会话/"