天天看點

python備份腳本

本文參考簡明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 --&gt; '</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 --&gt; weichenrong</code>

<code>Successful backup to </code><code>/mnt/e/backup/20161201/111319_weichenrong</code><code>.zip</code>

<code>Enter a comment --&gt; </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