chr*_*ris 6 command-line bash scripts rsync
我想从备份中排除目录“temp”和“Ubuntu One/”。什么是正确的空间转义????
RSYNCCONF="--delete --exclude=.* --exclude=temp/"
Run Code Online (Sandbox Code Playgroud)
提前致谢!
编辑/PS:
excludes=( ".*" temp/ "Ubuntu One/" )' 'RSYNCCONF="${excludes[@]/#/--exclude=}"
Run Code Online (Sandbox Code Playgroud)
和
$RSYNC -e "$S" -avR $FROMSSH:$SOURCE ${RSYNCCONF[@]} $TARGET$TODAY $INC >> $LOG 2>&1
Run Code Online (Sandbox Code Playgroud)
没有用。我真的很感激任何建议。
这是脚本:http : //wiki.ubuntuusers.de/_attachment? target= Skripte%2FBackup_mit_RSYNC%2Fbackup.sh
如果您在字符串中构建选项,则在尝试使用它时会遇到问题 ( rsync "$RSYNCCONF")。最好使用数组——当您取消引用数组时,shell 将正确处理每个元素:
RSYNCCONF=( --delete '--exclude=.*' --exclude=temp/ '--exclude="Ubuntu One/"' )
rsync "${RSYNCCONF[@]}"
Run Code Online (Sandbox Code Playgroud)
小智 1
将其放入单引号中:
RSYNCCONF="--delete --exclude=.* --exclude=temp/ --exclude='Ubuntu One/' "
Run Code Online (Sandbox Code Playgroud)
或者在空格前加一个反斜杠:
RSYNCCONF="--delete --exclude=.* --exclude=temp/ --exclude=Ubuntu\\ One/ "
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |