博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批量备份脚本
阅读量:6955 次
发布时间:2019-06-27

本文共 1145 字,大约阅读时间需要 3 分钟。

    写个小脚本纪念一下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,如需转载请自行联系原作者
你可能感兴趣的文章
BCM平台全自动刷机软件,TFTP正式版1.62隆重发布,增加固件记忆功能
查看>>
libvirt API 学习
查看>>
同时支持行单击和双击事件的 GridView/DataGrid
查看>>
自定义UITextField的文本内容位置
查看>>
基本算法个人PHP 实现(二)
查看>>
2011Alibaba数据分析师(实习)试题解析
查看>>
一句命令完成MySQL的数据迁移(轻量级)
查看>>
XPDM vs WDDM
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
<转>Sublime2 gbk编码乱码与gbk中文文件名乱码解决方案
查看>>
坚持的力量 第六篇
查看>>
UML中的顺序图
查看>>
101 个 MySQL 的调节和优化的提示
查看>>
QT开发之旅二TCP调试工具
查看>>
[ Talk is Cheap Show me the CODE ] : jQuery Mobile工具栏
查看>>
3D HTML5 Logo标志 超炫酷旋转特效
查看>>
ORA-01033:ORACLE initialization or shutdown in progress
查看>>
为什么要有GDT
查看>>
Js正则校验身份证号码
查看>>
JQuery上传插件Uploadify使用详解
查看>>