腳本簡介:python
1)備份源目錄的文件shell
2)目標文件以tar 和bzip2的方式壓縮以後放在當前日期文件夾下oracle
4)備份文件以時間註釋和執行腳本的用戶命名ide
3)主要用到了時間模塊,系統模塊,和getpass模塊編碼
4)source 能夠修改成想備份的目錄,由於備份目錄通常不常常變更,因此這裏寫死了spa
- #!/bin/env python
- #告訴解釋器查找pyton解釋器而且使用它
- #_*_encoding:utf8_*_
- #指定編碼爲utf8編碼
- import os
- #導入系統模塊
- import time
- #導入時間模塊
- import getpass
- #導入獲取用戶模塊
- source = ['/oracle/', '/oradata/oraInventory']
- #定義備份源目錄
- target_dir = '/oradata/backup/'
- #定義備份目標目錄
- user = getpass.getuser()
- #定義使用備份腳本的用戶
- today = target_dir + time.strftime('%Y%m%d')
- #定義今日的日期
- now = time.strftime('%H%M%S')
- #定義如今的時間
- comment = raw_input('請輸入一個註釋 --> ')
- #定義註釋爲輸入的字符串
- if len(comment) == 0:
- #檢查輸入的註釋是否爲空
- target = today + now + '_' + user + '_' + 'tar.bz2'
- #若是註釋爲空,備份文件的文件名爲日期時間運行腳本用戶
- else:
- target = today + now + '_' + comment + '_' + user + '_' + 'tar.bz2'
- #若是非空,則使用日期時間註釋用戶爲文件名
- if not os.path.exists(today):
- #檢查備份目錄下的時間目錄是否不存在
- os.mkdir(today)
- #若是不存在建立文件夾
- print '成功建立文件夾', today
- else:
- #存在,則打印
- print today,'文件夾已經存在'
- time.sleep(5)
- #暫停五秒
- zip_command = "tar -cjPf '%s' %s" % (target, ' '.join(source))
- #定義本備份命令
- if os.system(zip_command) == 0:
- #使用系統環境(至關於shell執行備份命令,若是成功返回0)
- print ' 成功備份爲:', target
- else:
- print '備份失敗' ,target