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

来源:互联网 发布:think in java第四版 编辑:程序博客网 时间:2024/06/15 23:30
root@kali:~/python/log# lsaccount.log  backup.log  ext.txt  logback.py  logger.py  logger.pycroot@kali:~/python/log# cat ext.txt /root/python/atmnew/account.pkl/root/python/atmnew/logger.pyc/root/python/atmnew/logger.pyroot@kali:~/python/log# cat logback.py #!/usr/bin/python# --*-- coding:utf-8 --*--import sys,os,time,loggersource_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 test2017-06-13 23:59:34 Full Backup 'Success'   N/A testroot@kali:~/python/log# 

运行:

root@kali:~/python/log# cat backup.log 2017-06-13 23:46:45 Full Backup 'Success'   N/A testroot@kali:~/python/log# vi ext.txtroot@kali:~/python/log# vi logback.pyroot@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/::wqroot@kali:~/python/log# cat ext.txt /root/python/atmnew/account.pkl/root/python/atmnew/logger.pyc/root/python/atmnew/logger.pyroot@kali:~/python/log# root@kali:~/python# ls atmnewaccount.log  account.pkl  account.py  logger.py  logger.pyc  pickle_test.py  record_account.py  ::wqroot@kali:~/python# ls           atmnewaccount.py_2017-06-13_234645.tgz  atmnewatmnew_2017-06-13_235934.tgz     root@kali:~/python#