写个小脚本纪念一下tee这个命令,批量备份http的源代码:
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")
执行命令如下:
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 [选项][参数]
选 项:
-a或--append :向文件中重定向时使用追加模式; -i或--ignore-interrupts :忽略中断(interrupt)信号。
参数:
指定输出重定向的文件
时间: 2024-10-03 22:53:45