使用python脚本备份crontab定时任务

本文介绍了一个Python脚本,用于备份服务器上的crontab任务,以防止意外删除。脚本通过SSH连接到多个服务器,并将/var/spool/cron目录的内容复制到/root/crontab_backup目录下的子目录中。
摘要由CSDN通过智能技术生成

近期打算备份下服务器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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值