Alles, was Sie tun müssen, ist "\" am Ende jeder Zeile hinzuzufügen, und es sollte gut gehen.
Ihre sieht also so aus:
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 \
/
Ein paar Abkürzungen
(basierend auf Ihrer Kommentaraktualisierung zum Festlegen von $HOSTNAME)
$HOSTNAME
Zwei Optionen, um das einzustellen:
-
HOSTNAME festlegen
HOSTNAME=$(hostname)
-
Verwenden Sie die Befehlsersetzung (z. B.
$(command)
)So würde es wie oben aussehen. Dadurch wird der Befehl nur ausgeführt, bevor er verwendet wird.
$DATE
Eine weitere zu vermeidende Variable wäre leicht:
$(hostname)_$(date +%Y%m%d).tar.gz \
$ man date
wird die Formate für die Datumsoptionen haben, das obige ist YYYYmmdd
Verwenden Sie den umgekehrten Schrägstrich, um einen Befehl in der nächsten Zeile fortzusetzen:
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 \
/
Derselbe Befehl, aber mit Kommentaren für jede Zeile, wäre:
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 \
/