-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackup_ver1.py
More file actions
50 lines (39 loc) · 1.86 KB
/
backup_ver1.py
File metadata and controls
50 lines (39 loc) · 1.86 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/python
# Filename: backup_ver1.py
import os
import time
# 1. The files and directories to be backed up are specified in a list.
# source = ['d:\\workspaces\\python\\django\\myproj\\myfirsttest', 'd:\\workspaces\\python\\django\\myproj\\jobs']
# If you are using Windows, use source = [r'C:\Documents', r'D:\Work'] or something like that
# 2. The backup must be stored in a main backup directory
# target_dir = 'd:\\workspaces\\python\\django\\myproj\\' # Remember to change this to what you will be using
# 3. The files are backed up into a zip file.
# 4. The name of the zip archive is the current date and time
def backupFolds(target_dir = 'd:\\workspaces\\python\\django\\myproj\\',\
source = ['d:\\workspaces\\python\\django\\myproj\\myfirsttest',\
'd:\\workspaces\\python\\django\\myproj\\jobs'], comment = 'zipname'):
today = target_dir + time.strftime('%Y%m%d')
# The current time is the name of the zip archive
now = time.strftime('%H%M%S')
# Create the subdirectory if it isn't already there
if not os.path.exists(today):
os.mkdir(today) # make directory
print 'Successfully created directory', today
# Take a comment from the user to create the name of the zip file
# comment = raw_input('Enter a comment --> ')
if len(comment) == 0: # check if a comment was entered
target = today + os.sep + now + '.zip'
else:
target = today + os.sep + now + '_' + \
comment.replace(' ', '_') + '.zip'
# Notice the backslash!
# 5. We use the zip command (in Unix/Linux) to put the files in a zip archive
print source, target_dir
zip_command = "rar a %s %s" % (target, ' '.join(source))
print zip_command
# Run the backup
if os.system(zip_command) == 0:
print 'Successful backup to', target
else:
print 'Backup FAILED'
backupFolds()