本文參考簡明python後修改
<code>#!/usr/bin/python</code>
<code>import</code> <code>time</code>
<code>import</code> <code>os</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>'/root'</code><code>, </code><code>'/tmp'</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 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># 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>else</code><code>:</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>
<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.makedirs(today) </code><code># make directory</code>
<code> </code><code>print</code> <code>'Successfully created directory'</code><code>, today</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> </code><code>print</code> <code>'Backup FAILED'</code>
<code>[root@salt-minion01 ~]</code><code># python backup.py </code>
<code>Enter a comment --> weichenrong</code>
<code>Successful backup to </code><code>/mnt/e/backup/20161201/111319_weichenrong</code><code>.zip</code>
<code>Enter a comment --> </code>
<code>Successful backup to </code><code>/mnt/e/backup/20161201/111341</code><code>.zip</code>
<code>[root@salt-minion01 ~]</code><code># </code>
<code>[root@salt-minion01 ~]</code><code># ls /mnt/e/backup/20161201/</code>
<code>111319_weichenrong.zip 111341.zip</code>
<code></code>
本文轉自 yanconggod 51CTO部落格,原文連結:http://blog.51cto.com/yanconggod/1878401