gpt4 book ai didi

linux - 来自 bash 脚本端口故障的 rsync

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:01 24 4
gpt4 key购买 nike

NB,文件夹和ip都有obv。已更改为能够在 SO 上发布 ;)

基于以下帖子:Rsync syntax error when run from bash script我构建了以下 bash 脚本来尝试运行 rsync 命令..但我无法正常工作。

通过将选项设置为数组,这没有传递端口号...

#!/bin/bash
options=("-avz" "--delete" "--chmod=ug=rwx,o=rx" "--exclude '.idea*" "--exclude '*.git*" "--exclude 'node-sass'" "-e'ssh -p 44'")
src="/cygdrive/d/Work/site/"
trg="john@12.12.12.12:/var/node/john.site.com/"
rsync "${options[@]}" "$src" "$trg"

或者将选项作为字符串传递..

#!/bin/bash
options="-avz --delete --chmod=ug=rwx,o=rx --exclude '.idea*' --exclude '*.git*' --exclude 'node-sass' -e'ssh -p 44'"
src="/cygdrive/d/Work/site/"
trg="john@12.12.12.12:/var/node/john.site.com/"
rsync "$options" "$src" "$trg"

作为一个字符串只是返回一个错误:

rsync: -avz --delete --chmod=ug=rwx,o=rx --exclude '.idea*' --exclude '.git' --exclude 'node-sass' -e'ssh -p 44'#015: unknown option

这是工作中的 rsync:

rysnc -avz --delete --chmod=ug=rwx,o=rx --exclude ".idea*" --exclude "*.git*" --exclude "node-sass" -e "ssh -p 44" /cygdrive/d/Work/site/  john@12.12.12.12:/var/node/john.site.com/

NEW ATTEMPT 以下帮助:我已经创建了一个 ssh 配置条目来绕过将端口号设置到 rsync 选项中的要求,删除了所有排除项,输入了 he opts into a single quoted string 并通过 herestring 传递:

#!/bin/bash
opts='-avz --delete --chmod=ug=rwx,o=rx'
src="/cygdrive/d/Work/site/"
trg="john@mysite:/var/node/john.site.com/"
rsync <<<$opts "$src" "$trg"

通过 cli 的新命令看起来像(并且有效):

rsync -avz --delete --chmod=ug=rwx,o=rx /cygdrive/d/Work/site/ john@mysite:/var/node/john.site.com/

但是我得到:

rsync: link_stat "/cygdrive/d/Work/site/\#015" failed: No such file or directory (2) 
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1165) [sender=3.1.1]

最佳答案

不要在引用时重新组合选项。试试这个:

options=(-avz --delete --chmod=ug=rwx,o=rx --exclude ".idea*" --exclude "*.git*" --exclude "node-sass" -e "ssh -p 44")
src=/cygdrive/d/Work/site/
trg="john@87.87.87.87:/var/node/john.site.com/"
rsync "${options[@]}" "$src" "$trg"

关于linux - 来自 bash 脚本端口故障的 rsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30267406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com