The python tutorial in example 10.4 backs up the script-version 4 code is quite long, so many people feel helpless, but you have a better understanding of it through the following code, the following is a detailed description of the relevant content. I hope you will gain some benefits.
- #!/usr/bin/python
- # Filename: backup_ver4.py
- import os
- import time
- # 1. The files and directories to be backed up are
specified in a list.
- source = [‘/home/swaroop/byte’, ‘/home/swaroop/bin’]
- # 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 = ‘/mnt/e/backup/’ # Remember to change
this to what you will be using
- # 3. The files are backed up into a zip file.
- # 4. The current day is the name of the
subdirectory in the main directory
- today = target_dir + time.strftime(‘%Y%m%d’)
- # The current time is the name of the zip archive
- now = time.strftime(‘%H%M%S’)
- # 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!
- # 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
- # 5. We use the zip command (in Unix/Linux) to put the
files in a zip archive
- zip_command = "zip -qr ‘%s’ %s" % (target, ‘
‘.join(source))
- # Run the backup
- if os.system(zip_command) == 0:
- print ‘Successful backup to’, target
- else:
- print ‘Backup FAILED’
As mentioned in the article, "I also want to use the tar command to replace the zip command. One advantage of this is that when you use the tar and gzip commands in combination, backup will be faster and smaller. If you want to use this document in windows, winzipcan easily process these .tar.gz files. The tar command is available by default in most Linux/Unix systems. Windows users can also download and install it. The command string will now be:
- tar = ‘tar -cvzf %s %s -X /home/swaroop/
excludes.txt’ % (target, ‘ ‘.join(srcdir))
It must be supplemented that the command after installing LibArchive for Windows users is bsdtar. To use the-z option, you must also install the gzip software. In the code
- target = today + os.sep + now + ‘.zip’
Change
- target = today + os.sep + now + ‘.tar.gz’
Use
- bsdtar -cvzf %s %s -X /home/swaroop/
excludes.txt’ % (target, ‘ ‘.join(source))
The above content is a detailed description of some notes in the simple python tutorial, such as the 10.4 backup script-version 4 code.