Linux Bash Script, Single Command But Multiple Lines?
All you should need to do is add "\" at the end of each line and it should be good to go.
So yours will look like:
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 \
/
A Few Shortcuts
(based on your comment update for setting $HOSTNAME)
$HOSTNAME
Two options to set that:
-
Set HOSTNAME
HOSTNAME=$(hostname)
-
Use command substitution (e.g.
$(command)
)So it would look like above. That just makes the command run before using it.
$DATE
Another variable avoided would be easily:
$(hostname)_$(date +%Y%m%d).tar.gz \
$ man date
will have the formats for the date options, the above is YYYYmmdd
Use the backslash to continue a command on the next line:
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 \
/