mirror of https://github.com/tLDP/LDP
35 lines
1.2 KiB
Bash
35 lines
1.2 KiB
Bash
#!/bin/bash
|
|
# ==> Script by James R. Van Zandt, and used here with his permission.
|
|
|
|
# ==> Comments added by author of this document.
|
|
|
|
|
|
HERE=`uname -n` # ==> hostname
|
|
THERE=bilbo
|
|
echo "starting remote backup to $THERE at `date +%r`"
|
|
# ==> `date +%r` returns time in 12-hour format, i.e. "08:08:34 PM".
|
|
|
|
# make sure /pipe really is a pipe and not a plain file
|
|
rm -rf /pipe
|
|
mkfifo /pipe # ==> Create a "named pipe", named "/pipe" ...
|
|
|
|
# ==> 'su xyz' runs commands as user "xyz".
|
|
# ==> 'ssh' invokes secure shell (remote login client).
|
|
su xyz -c "ssh $THERE \"cat > /home/xyz/backup/${HERE}-daily.tar.gz\" < /pipe"&
|
|
cd /
|
|
tar -czf - bin boot dev etc home info lib man root sbin share usr var > /pipe
|
|
# ==> Uses named pipe, /pipe, to communicate between processes:
|
|
# ==> 'tar/gzip' writes to /pipe and 'ssh' reads from /pipe.
|
|
|
|
# ==> The end result is this backs up the main directories, from / on down.
|
|
|
|
# ==> What are the advantages of a "named pipe" in this situation,
|
|
# ==>+ as opposed to an "anonymous pipe", with |?
|
|
# ==> Will an anonymous pipe even work here?
|
|
|
|
# ==> Is it necessary to delete the pipe before exiting the script?
|
|
# ==> How could that be done?
|
|
|
|
|
|
exit 0
|