写个小脚本纪念一下tee这个命令,批量备份http的源代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
jason at XJX-Mac in ~ /Script
$ cat backup.py
#!/usr/bin/env python # -*- coding: utf-8 -*- from fabric.api import run
from fabric.context_managers import env
from fabric.context_managers import cd
env .hosts = [ '10.11.12.101' , '10.11.12.102' , '10.11.12.111' , '10.11.12.112' , '10.11.12.131' , '10.11.12.181' , '10.11.12.182' ]
env .user = 'root'
env .password = 'mypassword'
env .parallel = True
def backup(): with cd ( "/data/httpd/source/" ):
run( "pwd" )
run( "tar -Jcvf bak/httpd_`date +%Y%m%d`.tar.xz httpd" )
|
执行命令如下:
1
2
|
jason at XJX-Mac in ~ /Script
$ fab -f backup.py backup | tee backup.log
|
输出:
生成已当前日期命名的xz压缩包,例如:httpd_20160104.tar.xz;脚本执行过程用tee命令输出到backup.log文件并在屏幕上实时打印出来。
补充说明:
tee
功能说明:tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。
存在缓存机制,每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。
语 法:tee [选项][参数]
选 项:
1
2
|
-a或--append :向文件中重定向时使用追加模式;
-i或--ignore-interrupts :忽略中断(interrupt)信号。
|
参数:
指定输出重定向的文件
本文转自Jx战壕 51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1731471,如需转载请自行联系原作者