forked from geekcomputers/Python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackup_automater_services.py
48 lines (42 loc) · 1.74 KB
/
backup_automater_services.py
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
# Script Name : backup_automater_services.py
# Author : Craig Richards
# Created : 24th October 2012
# Last Modified : 13th February 2016
# Version : 1.0.1
# Modifications : 1.0.1 - Tidy up the comments and syntax
# Description : This will go through and backup all my automator services workflows
import datetime # Load the library module
import os # Load the library module
import shutil # Load the library module
today = datetime.date.today() # Get Today's date
todaystr = (
today.isoformat()
) # Format it so we can use the format to create the directory
confdir = os.getenv(
"my_config"
) # Set the variable by getting the value from the OS setting
dropbox = os.getenv(
"dropbox"
) # Set the variable by getting the value from the OS setting
conffile = "services.conf" # Set the variable as the name of the configuration file
conffilename = os.path.join(
confdir, conffile
) # Set the variable by combining the path and the file name
sourcedir = os.path.expanduser(
"~/Library/Services/"
) # Source directory of where the scripts are located
# Combine several settings to create
destdir = os.path.join(
dropbox, "My_backups" + "/" + "Automater_services" + todaystr + "/"
)
# the destination backup directory
for file_name in open(conffilename): # Walk through the configuration file
fname = file_name.strip() # Strip out the blank lines from the configuration file
if fname: # For the lines that are not blank
sourcefile = os.path.join(
sourcedir, fname
) # Get the name of the source files to backup
destfile = os.path.join(
destdir, fname
) # Get the name of the destination file names
shutil.copytree(sourcefile, destfile) # Copy the directories