Tutto quello che dovresti fare è aggiungere "\" alla fine di ogni riga e dovrebbe essere a posto.
Quindi il tuo sarà simile a:
tar -cvpzf /share/Recovery/Snapshots/$(hostname)_$(date +%Y%m%d).tar.gz \
--exclude=/proc \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/mnt \
--exclude=/media \
--exclude=/dev \
--exclude=/share/Archive \
/
Alcune scorciatoie
(basato sull'aggiornamento del tuo commento per l'impostazione di $HOSTNAME)
$HOSTNAME
Due opzioni per impostarlo:
-
Imposta HOSTNAME
HOSTNAME=$(nome host)
-
Usa la sostituzione dei comandi (ad es.
$(command)
)Quindi sembrerebbe come sopra. Questo fa solo eseguire il comando prima di usarlo.
$DATE
Un'altra variabile evitata sarebbe facilmente:
$(hostname)_$(date +%Y%m%d).tar.gz \
$ man date
avrà i formati per le opzioni di data, quello sopra è YYYYmmdd
Usa la barra rovesciata per continuare un comando sulla riga successiva:
tar -cvpzf /share/Recovery/Snapshots/$HOSTNAME_$DATE.tar.gz \
--exclude=/proc \
--exclude=/lost+found \
--exclude=/sys \
--exclude=/mnt \
--exclude=/media \
--exclude=/dev \
--exclude=/share/Archive \
/
Lo stesso comando, ma con commenti per ogni riga, sarebbe:
tar -cvpzf /share/Recovery/Snapshots/$(hostname)_$(date +%Y%m%d).tar.gz `#first comment` \
--exclude=/proc `#second comment` \
--exclude=/lost+found `# and so on...` \
--exclude=/sys \
--exclude=/mnt \
--exclude=/media \
--exclude=/dev \
--exclude=/share/Archive \
/