python備份腳本解析

 腳本簡介:

1)備份源目錄的文件

2)目標文件以tar 和bzip2的方式壓縮之後放在當前日期文件夾下

4)備份文件以時間註釋和執行腳本的用戶命名

3)主要用到了時間模塊,系統模塊,和getpass模塊

4)source 可以修改爲想備份的目錄,因爲備份目錄一般不經常變動,所以這裏寫死了


  1. #!/bin/env python  
  2. #告訴解釋器查找pyton解釋器並且使用它 
  3. #_*_encoding:utf8_*_  
  4. #指定編碼爲utf8編碼 
  5. import os 
  6. #導入系統模塊  
  7. import time 
  8. #導入時間模塊  
  9. import getpass 
  10. #導入獲取用戶模塊  
  11. source = ['/oracle/''/oradata/oraInventory']  
  12. #定義備份源目錄 
  13. target_dir = '/oradata/backup/' 
  14. #定義備份目標目錄  
  15. user = getpass.getuser() 
  16. #定義使用備份腳本的用戶  
  17. today = target_dir + time.strftime('%Y%m%d'
  18. #定義今日的日期 
  19. now = time.strftime('%H%M%S'
  20. #定義現在的時間  
  21. comment = raw_input('請輸入一個註釋 --> ')  
  22. #定義註釋爲輸入的字符串 
  23. if len(comment) == 0
  24. #檢查輸入的註釋是否爲空  
  25.     target = today + now + '_' + user + '_' + 'tar.bz2'  
  26. #如果註釋爲空,備份文件的文件名爲日期時間運行腳本用戶  
  27. else:  
  28.     target = today +  now + '_' + comment + '_' + user + '_' + 'tar.bz2'  
  29. #如果非空,則使用日期時間註釋用戶爲文件名 
  30. if not os.path.exists(today):  
  31. #檢查備份目錄下的時間目錄是否不存在 
  32.  
  33.     os.mkdir(today)  
  34. #如果不存在創建文件夾 
  35.     print '成功創建文件夾', today  
  36. else:  
  37. #存在,則打印 
  38.     print today,'文件夾已經存在'  
  39. time.sleep(5
  40. #暫停五秒  
  41. zip_command = "tar -cjPf '%s' %s" % (target, ' '.join(source))  
  42. #定義本備份命令 
  43.  
  44. if os.system(zip_command) == 0:  
  45. #使用系統環境(相當於shell執行備份命令,如果成功返回0) 
  46.     print ' 成功備份爲:', target  
  47. else:  
  48.     print '備份失敗' ,target 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章