1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<code>#!/usr/bin/python</code>
<code># Filename: backup_ver1.py</code>
<code>import</code> <code>os</code>
<code>import</code> <code>time</code>
<code># 1. The files and directories to be backed up are specified in a list.</code>
<code>source </code><code>=</code> <code>[</code><code>'/home/swaroop/byte'</code><code>, </code><code>'/home/swaroop/bin'</code><code>]</code>
<code># If you are using Windows, use source = [r'C:\Documents', r'D:\Work'] or something like that</code>
<code># 2. The backup must be stored in a main backup directory</code>
<code>target_dir </code><code>=</code> <code>'/mnt/e/backup/'</code> <code># Remember to change this to what you will be using</code>
<code># 3. The files are backed up into a zip file.</code>
<code># 4. The name of the zip archive is the current date and time</code>
<code>target </code><code>=</code> <code>target_dir </code><code>+</code> <code>time.strftime(</code><code>'%Y%m%d%H%M%S'</code><code>) </code><code>+</code> <code>'.zip'</code>
<code># 5. We use the zip command (in Unix/Linux) to put the files in a zip archive</code>
<code>zip_command </code><code>=</code> <code>"zip -qr '%s' %s"</code> <code>%</code> <code>(target, </code><code>' '</code><code>.join(source))</code>
<code># Run the backup</code>
<code>if</code> <code>os.system(zip_command) </code><code>=</code><code>=</code> <code>0</code><code>:</code>
<code> </code><code>print</code> <code>'Successful backup to'</code><code>, target</code>
<code>else</code><code>:</code>
<code> </code><code>print</code> <code>'Backup FAILED'</code>
26
27
28
29
30
31
32
33
34
35
<code># Filename: backup_ver2.py</code>
<code># 4. The current day is the name of the subdirectory in the main directory</code>
<code>today </code><code>=</code> <code>target_dir </code><code>+</code> <code>time.strftime(</code><code>'%Y%m%d'</code><code>)</code>
<code># The current time is the name of the zip archive</code>
<code>now </code><code>=</code> <code>time.strftime(</code><code>'%H%M%S'</code><code>)</code>
<code># Create the subdirectory if it isn't already there</code>
<code>if</code> <code>not</code> <code>os.path.exists(today):</code>
<code> </code><code>os.mkdir(today) </code><code># make directory</code>
<code> </code><code>print</code> <code>'Successfully created directory'</code><code>, today</code>
<code># The name of the zip file</code>
<code>target </code><code>=</code> <code>today </code><code>+</code> <code>os.sep </code><code>+</code> <code>now </code><code>+</code> <code>'.zip'</code>
36
37
38
39
40
41
<code># Filename: backup_ver3.py</code>
<code># Take a comment from the user to create the name of the zip file</code>
<code>comment </code><code>=</code> <code>raw_input</code><code>(</code><code>'Enter a comment --> '</code><code>)</code>
<code>if</code> <code>len</code><code>(comment) </code><code>=</code><code>=</code> <code>0</code><code>: </code><code># check if a comment was entered</code>
<code> </code><code>target </code><code>=</code> <code>today </code><code>+</code> <code>os.sep </code><code>+</code> <code>now </code><code>+</code> <code>'.zip'</code>
<code> </code><code>target </code><code>=</code> <code>today </code><code>+</code> <code>os.sep </code><code>+</code> <code>now </code><code>+</code> <code>'_'</code> <code>+</code> <code>\</code>
<code> </code><code>comment.replace(</code><code>' '</code><code>, </code><code>'_'</code><code>) </code><code>+</code> <code>'.zip'</code>
<code> </code><code># Notice the backslash!</code>
本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/2047491,如需轉載請自行聯系原作者