[CentOS] that ever puzzling special chars escaping + rdiff-backup
lejeczek
peljasz at yahoo.co.uk
Tue Feb 21 12:31:34 UTC 2017
On 21/02/17 10:51, lejeczek wrote:
> hi everyone
>
> a good basher around here?
>
> I try in a script:
>
> _rdiffBack="rdiff-backup -v5 --tempdir /tmp/ --no-eas
> --exclude-other-filesystems --exclude-symbolic-links"
> _rdffiExclude="--exclude '**/~*' --exclude '**.tmp'
> --exclude-regexp '(.glusterfs|.trashcan|temp)'"
this cheat won't work, have it as a function instead
> _execCom=${!2}
> _sourceDir=${1}
> _backupTo=${3}
>
> __backMeUp() {
> for _sourceDir in ${_sourceDirs[@]}; do
> echo \$ ${_execCom} ${_rdffiExclude} ${_sourceDir}/
> ${_backupTo} \> ${_logFile} | ${_copyToLog}
> ${_execCom} ${_rdffiExclude} ${_sourceDir}/
> ${_backupTo} > ${_logFile} 2>&1
> done
> }
>
> case ${1} in
> rdiffThis)
> declare -a _sourceDirs=( /0-ALL.DATA/rdiffThis );
> __backMeUp ${@}
> ;;
> esac
>
> this is a snippet which may look obscure but obvious is:
> rdiff-backup some data, just that.
> And when I run it as a script
>
> ~]$ runme.sh rdiffThis _rdiffBack toHere
>
> I see:
> Fatal Error: Fatal Error: The file specification
> ''**'
> cannot match any files in the base directory
>
> You notice that the script echos what it is meant to
> execute, which suffice I copy&paste that echo in bash
> prompt... and it works!? No "Fatal Error"
> And the problem seems to specifically be a shell pattern
> for --exclude. Take two --exclude out, having:
>
> _rdffiExclude="--exclude-regexp '(.glusterfs|.trashcan|temp)'"
>
> and script works when invoked, fine!
> I've been fiddling around but failed to make rdiff-backup
> 1.2.8 play along.
> Must be something trivial, right?
> b.w.
> L
More information about the CentOS
mailing list