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