Nov 23

[原]ssh和bash的小技巧 多云

linuxing , 13:28 , 编程 » Bash , 评论(0) , 引用(0) , 阅读(22503) , Via 本站原创 | |
  今天遇到有朋友问几个问题,总结一下:
1、因为本地磁盘空间不够了,怎么把数据快速的备份出来?
答:可以使用tar命令,或rsync命令。例如:
A#tar cvf - /opt | (ssh B "tar xvf - -C /opt")

把A机器上的/opt目录通过tar命令,并通过管道直接打包到B服务器的/opt目录下。
如果网速足够快的话,不要使用z参数,否则会影响速度。

2、如何利用ssh远程导向文本文件?
A#cat id_rsa.pub | (ssh B "cat > /root/.ssh/authorized_keys")

其实这也是利用了ssh命令的参数,只是中间完全没有中间文件,速度更快。

3、ssh窗口关闭,运行的程序也同时关闭了。该如何为此?
  对于这个问题,其实用nohup就可以解决。
#nohup wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz &

  不要忘了最后的&号哦。否则程序就会停在当前屏幕了。(当然,可以使用下面的前台和后台指令调整他)

4、如何把当前工作扔到后台?
  我们经常会在运行一个命令后,才发现他不会自动跳出运行状态,例如:
# wget http://www.realvnc.com/dist/vnc-4.0b5-x86_linux.tar.gz

   他就一直占用当前屏幕,如果我们把当前窗口关闭,wget命令也会终止了。
  此时,你可以按下Ctrl+Z,屏幕会显示:
[1]+ Stopped ncftp

   [1]就是工作代码。已经把wget动作放到后台了,并暂停了。他等于为wget指令增加了一个&的参数。
  使用bg,或bg 1可以把指定的任务在后台继续工作。
  使用fg 1就可以把[1]拿回到当前屏幕(也可以用fg循环)。
※小心,虽然工作在后台,但如果当前是远程ssh窗口,关闭该窗口,后台的命令也会同时终止的。

5、备份含空格的文件
find .  -mtime -1 ! -type d -print | tar cvfz /backup/1/backup-week1.tgz -T -

先用find找出需要备份的文件,然后使用tar的-T参数备份。
(-T后的“-”号不能忽略,其表示前面从管道过来的文件列表)

※2006-09-04 修改bg命令的部分错误
※2007-11-01 增加备份含空格文件的描述
Tags: , ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]