-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupload_nas.sh
More file actions
103 lines (91 loc) · 2.96 KB
/
Copy pathupload_nas.sh
File metadata and controls
103 lines (91 loc) · 2.96 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/bin/bash
## script settings
case $WorkstationType in
Linux )
WorkstationHomeDirectory=$LinuxWorkstationHomeDirectory
RsyncOptions=$LinuxRsyncOptions
;;
Mac )
WorkstationHomeDirectory=$MacWorkstationHomeDirectory
RsyncOptions=$MacRsyncOptions
;;
* )
echo
echo "/ Error! Invalid workstation type."
echo
exit
;;
esac
ScriptTitle=$WorkstationType" - Upload to NAS"
ScriptFilename="upload_nas"
StartingTimestamp=$(date +%Y-%m-%d@%H:%M:%S:%N)
## title
echo
echo "/ Starting Job: $ScriptTitle"
echo "// Starting job timestamp: $StartingTimestamp"
echo
## copy workstation storage to workstation configs
echo "// Syncing workstation config files..."
echo
## hosts file
echo rsync \
$RsyncOptions \
$ExtraRsyncOptions \
--log-file $WorkstationHomeDirectory$LocalDocumentsDirectory$LocalLogPrefix$ScriptFilename$LocalLogPostfix \
--progress \
'"'$LocalSystemHostsFile'"' \
'"'$WorkstationHomeDirectory$LocalStorageUploadDirectory$LocalStorageHostsFile'"' > ./runfile.sh
ExecuteRunfile
echo
## ssh config file
echo rsync \
$RsyncOptions \
$ExtraRsyncOptions \
--log-file $WorkstationHomeDirectory$LocalDocumentsDirectory$LocalLogPrefix$ScriptFilename$LocalLogPostfix \
--progress \
'"'$WorkstationHomeDirectory$LocalSystemSSHConfigFile'"' \
'"'$WorkstationHomeDirectory$LocalStorageUploadDirectory$LocalStorageSSHConfigFile'"' > ./runfile.sh
ExecuteRunfile
echo
## push workstation storage to nas storage
## storage
echo "// Uploading general files..."
echo
echo rsync \
$RsyncOptions \
$ExtraRsyncOptions \
--log-file $WorkstationHomeDirectory$LocalDocumentsDirectory$LocalLogPrefix$ScriptFilename$LocalLogPostfix \
--progress \
--exclude-from='"'$WorkstationHomeDirectory$LocalExcludeFileDirectory$ExcludeFileName'"' \
$WorkstationHomeDirectory$LocalStorageUploadDirectory \
-e '"ssh"' $NASServer:"$NASStorageDirectory" > ./runfile.sh
ExecuteRunfile
echo
echo rsync \
$RsyncOptions \
--log-file $WorkstationHomeDirectory$LocalDocumentsDirectory$LocalLogPrefix$ScriptFilename$LocalLogPostfix \
--progress \
--exclude-from='"'$WorkstationHomeDirectory$LocalExcludeFileDirectory$ExcludeFileName'"' \
$WorkstationHomeDirectory$LocalDevelopmentUploadDirectory \
-e '"ssh"' $NASServer:"$NASDevelopmentDirectory" > ./runfile.sh
ExecuteRunfile
echo
## encrypted volumes
echo "// Uploading secure files..."
echo
echo rsync \
$RsyncOptions \
$ExtraRsyncOptions \
--log-file $WorkstationHomeDirectory$LocalDocumentsDirectory$LocalLogPrefix$ScriptFilename$LocalLogPostfix \
--progress \
$WorkstationHomeDirectory$LocalStorageUploadDirectory$SecureDirectory \
-e '"ssh"' $NASServer:"$NASStorageDirectory$SecureDirectory" > ./runfile.sh
ExecuteRunfile
echo
EndingTimestamp=$(date +%Y-%m-%d@%H:%M:%S:%N)
## ending message
echo
echo "// Ending job timestamp: $EndingTimestamp"
echo "// Sync job completed."
echo
exit