Tentativo di risincronizzare i file da un server all'altro in una sessione dello schermo. Invece di scrivere il lungo comando ogni volta, ho deciso di inserire uno script Bash. Tuttavia, quando lo eseguo, viene visualizzato un Missing trailing-" in remote-shell command.
errore.
Chiedendosi cosa non va nella sceneggiatura.
root@127.0.0.1:~# /raid/data/module/bin/rbk.sh Movies /raid/data/Movies rsync_target/
/raid/data/module/bin/screen -S Movies
/opt/bin/rsync --rsh="ssh -p 10022 -c des"\
--rsync-path="/opt/bin/rsync" --inplace --progress -a -vv \
/raid/data/Movies sys@192.168.1.15:/raid/data/rsync_target/
Missing trailing-" in remote-shell command.
rsync error: syntax or usage error (code 1) at main.c(361) [sender=3.0.5]
Lo script fa eco a quello che farà prima e quindi esegue il comando. Di seguito è riportato un dump della mia sceneggiatura:
#!/bin/bash
SCREEN="/raid/data/module/bin/screen"
SCREENOPT="-S"
SCREEN_TITLE=$1
RSYNC="/opt/bin/rsync"
RSYNCOPT="--rsh=\"ssh -p 10022 -c des\" --rsync-path=\"/opt/bin/rsync\" --inplace --progress -a -vv"
SOURCE=$2
REMOTE_USER="sys@"
REMOTE_HOST="192.168.1.15"
REMOTE_BASE=":/raid/data/"
REMOTE_TARGET=$3
echo ${SCREEN} ${SCREENOPT} ${SCREEN_TITLE}
echo ${RSYNC} ${RSYNCOPT} ${SOURCE} ${REMOTE_USER}${REMOTE_HOST}${REMOTE_BASE}${REMOTE_TARGET}
${RSYNC} ${RSYNCOPT} ${SOURCE} ${REMOTE_USER}${REMOTE_HOST}${REMOTE_BASE}${REMOTE_TARGET}
run_rsync() { /opt/bin/rsync "--rsh=\"ssh -p 10022 -c des\" --rsync-path=\"/opt/bin/rsync\" --inplace --progress -a -vv" $1 $2 } run_rsync ${SOURCE} ${REMOTE_USER}${REMOTE_HOST}${REMOTE_BASE}${REMOTE_TARGET}
(lo so, è piuttosto vecchio, ma comunque uno dei primi collegamenti quando si cerca "Missing trailing-" nel comando di shell remota ")