python--- 备份日志(待优化)

root@kali:~/python/log# ls
account.log  backup.log  ext.txt  logback.py  logger.py  logger.pyc


root@kali:~/python/log# cat ext.txt 
/root/python/atmnew/account.pkl
/root/python/atmnew/logger.pyc
/root/python/atmnew/logger.py


root@kali:~/python/log# cat logback.py 
#!/usr/bin/python
# --*-- coding:utf-8 --*--

import sys,os,time,logger

source_file = sys.argv[1]
formated_source_file = source_file.split('/')[-1]

backup_dir = '/root/python/atmnew'
backup_to_file = '''%s%s_%s.tgz''' % (backup_dir,formated_source_file,time.strftime("%Y-%m-%d_%H%M%S",time.localtime()))

def run_backup(runtime="now",exclude_file_name = 'None'):
    if len(sys.argv) == 4:
        print '-------exclude file mode-------------'
        if sys.argv[2] == '-X':
            exclude_file_name = sys.argv[3]
            backup_cmd = 'tar cvzfX %s %s %s ' %(backup_to_file,exclude_file_name,source_file)
    else:
        print '------------Normal mode----------------'
        #backup_cmd = 'tar cvzf %s %s | wc -l' %(backup_to_file,source_file)
        backup_cmd = 'tar cvzf %s %s' %(backup_to_file,source_file)

    run_command = os.system(backup_cmd)
    if run_command == 0:
        logger.record_log('Full Backup','Success','N/A','test')
    else:
        logger.record_log('Full Backup','Failure','N/A','test')

run_backup()



root@kali:~/python/log# cat logger.py
#!/usr/bin/python
# --*-- coding:utf-8 --*--

import time#导入时间模块
logfile = 'backup.log'#定义要使用的日志文件account.log

#定义函数包括参数账户、花费、描述信息、利息(默认为0、取款、转账有手续费必须带参数值)
def record_log(Backup_type,Status,files,description = 'NULL'):
    date = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())#取出当前时间
    record_line = "%s   %s  '%s'    %s  %s\n" %(date,Backup_type,Status,files,description)#记录当前消费时调用函数各个参数时间行为
    f = open(logfile,'a')#追加写入方式打开日志account.log
    f.write(record_line)#写入每行函数产生日志信息
    f.flush()#实时写入
    f.close()#关闭文件


root@kali:~/python/log# cat backup.log 
2017-06-13 23:46:45 Full Backup 'Success'   N/A test
2017-06-13 23:59:34 Full Backup 'Success'   N/A test
root@kali:~/python/log# 

运行:

root@kali:~/python/log# cat backup.log 
2017-06-13 23:46:45 Full Backup 'Success'   N/A test
root@kali:~/python/log# vi ext.txt
root@kali:~/python/log# vi logback.py
root@kali:~/python/log# python logback.py /root/python/atmnew -X ext.txt
-------exclude file mode-------------
tar: 从成员名中删除开头的“/”
/root/python/atmnew/
/root/python/atmnew/account.py
/root/python/atmnew/record_account.py
/root/python/atmnew/account.log
/root/python/atmnew/pickle_test.py
/root/python/atmnew/::wq
root@kali:~/python/log# cat ext.txt 
/root/python/atmnew/account.pkl
/root/python/atmnew/logger.pyc
/root/python/atmnew/logger.py
root@kali:~/python/log# 


root@kali:~/python# ls atmnew
account.log  account.pkl  account.py  logger.py  logger.pyc  pickle_test.py  record_account.py  ::wq
root@kali:~/python# ls           
atmnewaccount.py_2017-06-13_234645.tgz  
atmnewatmnew_2017-06-13_235934.tgz     
root@kali:~/python# 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐为波

看着给就好了,学习写作有点累!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值