使用python脚本备份crontab定时任务
2016-06-14 18:08
771 查看
近期打算备份下服务器crontab任务,以防个人失误,清空定时任务,其实我觉得shell脚本更简单,但是想练习下python,决定使用python脚本进行,前提执行主机做好对其他节点服务器ssh免秘钥登录
vi crontab_backup.py #!/usr/bin/env python # -*- coding : UTF-8 -*- # Author : CuiLei # Date: 2016-06-14 # Filename: crontab_backup.py # Description: backup crontab , host /root/crontab_backup/ import datetime import re import sys import time import os #备份目标 source='/var/spool/cron' print 'backup files:',source #备份到的位置 target_dir='/root/crontab_backup/' dt=datetime.datetime.now() #打开iplist文件 f = open('iplist') for line in f.readlines(): #查询IP ip = re.findall(r'((?:\d{1,3}\.){3}\d{1,3})',line)[0] print 'backup host: ',ip #主机名称 host = line[14:].replace(" ","").strip('\n') #目录名称 target=target_dir + host + dt.strftime('%Y%m%d%H%M%S') print 'backup target: ',target #首次执行需要创建目录 mk= "mkdir %s" % target_dir print 'backup dir: ',mk #cp的命令 cmd="cp -rf %s %s" % (source,target) #调用命令ssh服务器执行命令 process1 = os.popen("/usr/bin/ssh %s %s" % (ip,mk)).read() #睡眠1秒 time.sleep(1) #执行备份 process2 = os.popen("/usr/bin/ssh %s %s" % (ip,cmd)).read() if os.system(process2)==0 : print 'successfull backup' else: print 'failed backup' #iplist文件格式 vi iplist 192.168.1.154 test01 192.168.1.155 test02
相关文章推荐
- python位操作学习笔记
- Python入门简单的静态网页爬虫1.0 (爬虫架构 )
- python脚本之过滤关键字
- 笔记 python与json数据
- Python3 字符编码
- python多线程调用exit无法退出
- Python的Asyncore异步Socket模块及实现端口转发的例子
- python中的正则表达式
- python一个简单的登录
- Python实现TCP/IP协议下的端口转发及重定向示例
- python-接口测试(思路)
- 机器学习实践之手写数字识别 - 数据初识
- python datetime 时间日期处理
- python列出文件夹下所有文件的四个方法
- Python实现TCP协议下的端口映射功能的脚本程序示例
- s.decode('unicode-escape')
- Fail2Ban之python
- Python3 基础
- “彩虹花”python-matploylib模块
- 浅谈python新手中常见的疑惑及解答