fifo.sh

来自「Shall高级编程」· Shell 代码 · 共 35 行

SH
35
字号
#!/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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?