您的位置:首页 > 编程语言 > Python开发

批量备份脚本

2016-01-04 18:02 579 查看
写个小脚本纪念一下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)信号。
参数:
指定输出重定向的文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  备份 脚本 python