浏览代码

Create directories if needed

Bob Mottram 9 年前
父节点
当前提交
6764a366af
共有 1 个文件被更改,包括 3 次插入69 次删除
  1. 3
    69
      src/freedombone-backup-local

+ 3
- 69
src/freedombone-backup-local 查看文件

137
             exit 6
137
             exit 6
138
         fi
138
         fi
139
         MY_BACKUP_KEY_ID=$(gpg --list-keys "$ADMIN_NAME (backup key)" | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
139
         MY_BACKUP_KEY_ID=$(gpg --list-keys "$ADMIN_NAME (backup key)" | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
140
+		if [ ! -d $USB_MOUNT/backup/${2} ]; then
141
+			mkdir -p $USB_MOUNT/backup/${2}
142
+		fi
140
         obnam force-lock -r $USB_MOUNT/backup/${2} --encrypt-with $MY_BACKUP_KEY_ID ${1}
143
         obnam force-lock -r $USB_MOUNT/backup/${2} --encrypt-with $MY_BACKUP_KEY_ID ${1}
141
         obnam backup -r $USB_MOUNT/backup/${2} --encrypt-with $MY_BACKUP_KEY_ID ${1}
144
         obnam backup -r $USB_MOUNT/backup/${2} --encrypt-with $MY_BACKUP_KEY_ID ${1}
142
         obnam forget --keep=30d -r $USB_MOUNT/backup/${2} --encrypt-with $MY_BACKUP_KEY_ID
145
         obnam forget --keep=30d -r $USB_MOUNT/backup/${2} --encrypt-with $MY_BACKUP_KEY_ID
164
         # Backup any gpg keys
167
         # Backup any gpg keys
165
         if [ -d /home/$USERNAME/.gnupg ]; then
168
         if [ -d /home/$USERNAME/.gnupg ]; then
166
             echo $"Backing up gpg keys for $USERNAME"
169
             echo $"Backing up gpg keys for $USERNAME"
167
-            if [ ! -d $USB_MOUNT/backup/gnupg/$USERNAME ]; then
168
-                mkdir -p $USB_MOUNT/backup/gnupg/$USERNAME
169
-            fi
170
             backup_directory_to_usb /home/$USERNAME/.gnupg gnupg/$USERNAME
170
             backup_directory_to_usb /home/$USERNAME/.gnupg gnupg/$USERNAME
171
         fi
171
         fi
172
 
172
 
173
         # Backup any personal settings
173
         # Backup any personal settings
174
         if [ -d /home/$USERNAME/personal ]; then
174
         if [ -d /home/$USERNAME/personal ]; then
175
             echo $"Backing up personal settings for $USERNAME"
175
             echo $"Backing up personal settings for $USERNAME"
176
-            if [ ! -d $USB_MOUNT/backup/personal/$USERNAME ]; then
177
-                mkdir -p $USB_MOUNT/backup/personal/$USERNAME
178
-            fi
179
             backup_directory_to_usb /home/$USERNAME/personal personal/$USERNAME
176
             backup_directory_to_usb /home/$USERNAME/personal personal/$USERNAME
180
         fi
177
         fi
181
 
178
 
182
         # Backup ssh keys
179
         # Backup ssh keys
183
         if [ -d /home/$USERNAME/.ssh ]; then
180
         if [ -d /home/$USERNAME/.ssh ]; then
184
             echo $"Backing up ssh keys for $USERNAME"
181
             echo $"Backing up ssh keys for $USERNAME"
185
-            if [ ! -d $USB_MOUNT/backup/ssh/$USERNAME ]; then
186
-                mkdir -p $USB_MOUNT/backup/ssh/$USERNAME
187
-            fi
188
             backup_directory_to_usb /home/$USERNAME/.ssh ssh/$USERNAME
182
             backup_directory_to_usb /home/$USERNAME/.ssh ssh/$USERNAME
189
         fi
183
         fi
190
 
184
 
191
         # Backup user configs
185
         # Backup user configs
192
         if [ -d /home/$USERNAME/.config ]; then
186
         if [ -d /home/$USERNAME/.config ]; then
193
             echo $"Backing up config files for $USERNAME"
187
             echo $"Backing up config files for $USERNAME"
194
-            if [ ! -d $USB_MOUNT/backup/config/$USERNAME ]; then
195
-                mkdir -p $USB_MOUNT/backup/config/$USERNAME
196
-            fi
197
             backup_directory_to_usb /home/$USERNAME/.config config/$USERNAME
188
             backup_directory_to_usb /home/$USERNAME/.config config/$USERNAME
198
         fi
189
         fi
199
 
190
 
207
             if [ -f /etc/Muttrc ]; then
198
             if [ -f /etc/Muttrc ]; then
208
                 cp /etc/Muttrc /home/$USERNAME/tempbackup
199
                 cp /etc/Muttrc /home/$USERNAME/tempbackup
209
             fi
200
             fi
210
-            if [ ! -d $USB_MOUNT/backup/mutt/$USERNAME ]; then
211
-                mkdir -p $USB_MOUNT/backup/mutt/$USERNAME
212
-            fi
213
             backup_directory_to_usb /home/$USERNAME/tempbackup mutt/$USERNAME
201
             backup_directory_to_usb /home/$USERNAME/tempbackup mutt/$USERNAME
214
         fi
202
         fi
215
 
203
 
221
             fi
209
             fi
222
             tar -czvf /root/tempbackupemail/$USERNAME/maildir.tar.gz /home/$USERNAME/Maildir
210
             tar -czvf /root/tempbackupemail/$USERNAME/maildir.tar.gz /home/$USERNAME/Maildir
223
             echo $"Backing up emails for $USERNAME"
211
             echo $"Backing up emails for $USERNAME"
224
-            if [ ! -d $USB_MOUNT/backup/mail/$USERNAME ]; then
225
-                mkdir -p $USB_MOUNT/backup/mail/$USERNAME
226
-            fi
227
             backup_directory_to_usb /root/tempbackupemail/$USERNAME mail/$USERNAME
212
             backup_directory_to_usb /root/tempbackupemail/$USERNAME mail/$USERNAME
228
         fi
213
         fi
229
 
214
 
230
         # Backup spamassassin
215
         # Backup spamassassin
231
         if [ -d /home/$USERNAME/.spamassassin ]; then
216
         if [ -d /home/$USERNAME/.spamassassin ]; then
232
             echo $"Backing up spamassassin settings for $USERNAME"
217
             echo $"Backing up spamassassin settings for $USERNAME"
233
-            if [ ! -d $USB_MOUNT/backup/spamassassin/$USERNAME ]; then
234
-                mkdir -p $USB_MOUNT/backup/spamassassin/$USERNAME
235
-            fi
236
             backup_directory_to_usb /home/$USERNAME/.spamassassin spamassassin/$USERNAME
218
             backup_directory_to_usb /home/$USERNAME/.spamassassin spamassassin/$USERNAME
237
         fi
219
         fi
238
 
220
 
243
                 mkdir -p /home/$USERNAME/tempbackup
225
                 mkdir -p /home/$USERNAME/tempbackup
244
             fi
226
             fi
245
             cp /home/$USERNAME/.procmailrc /home/$USERNAME/tempbackup
227
             cp /home/$USERNAME/.procmailrc /home/$USERNAME/tempbackup
246
-            if [ ! -d $USB_MOUNT/backup/procmail/$USERNAME ]; then
247
-                mkdir -p $USB_MOUNT/backup/procmail/$USERNAME
248
-            fi
249
             backup_directory_to_usb /home/$USERNAME/tempbackup procmail/$USERNAME
228
             backup_directory_to_usb /home/$USERNAME/tempbackup procmail/$USERNAME
250
         fi
229
         fi
251
 
230
 
300
 
279
 
301
 # backup gogs
280
 # backup gogs
302
 if [ -d /home/git/go/src/github.com/gogits ]; then
281
 if [ -d /home/git/go/src/github.com/gogits ]; then
303
-    if [ ! -d $USB_MOUNT/backup/gogsrepos ]; then
304
-        mkdir -p $USB_MOUNT/backup/gogsrepos
305
-    fi
306
-    if [ ! -d $USB_MOUNT/backup/gogsssh ]; then
307
-        mkdir -p $USB_MOUNT/backup/gogsssh
308
-    fi
309
     backup_database gogs
282
     backup_database gogs
310
     backup_directory_to_usb /root/tempgogsdata gogsdata
283
     backup_directory_to_usb /root/tempgogsdata gogsdata
311
     echo $"Obtaining Gogs settings backup"
284
     echo $"Obtaining Gogs settings backup"
319
 
292
 
320
 # Backup wiki
293
 # Backup wiki
321
 if [ -d /etc/dokuwiki ]; then
294
 if [ -d /etc/dokuwiki ]; then
322
-    if [ ! -d $USB_MOUNT/backup/wiki ]; then
323
-        mkdir -p $USB_MOUNT/backup/wiki
324
-    fi
325
-    if [ ! -d $USB_MOUNT/backup/wiki2 ]; then
326
-        mkdir -p $USB_MOUNT/backup/wiki2
327
-    fi
328
     echo $"Obtaining wiki data backup"
295
     echo $"Obtaining wiki data backup"
329
     backup_directory_to_usb /var/lib/dokuwiki wiki
296
     backup_directory_to_usb /var/lib/dokuwiki wiki
330
     backup_directory_to_usb /etc/dokuwiki wiki2
297
     backup_directory_to_usb /etc/dokuwiki wiki2
334
 if grep -q "Blog domain" $COMPLETION_FILE; then
301
 if grep -q "Blog domain" $COMPLETION_FILE; then
335
     FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
302
     FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
336
     if [ -d /var/www/${FULLBLOG_DOMAIN_NAME} ]; then
303
     if [ -d /var/www/${FULLBLOG_DOMAIN_NAME} ]; then
337
-        if [ ! -d $USB_MOUNT/backup/blog ]; then
338
-            mkdir -p $USB_MOUNT/backup/blog
339
-        fi
340
         echo $"Obtaining blog backup"
304
         echo $"Obtaining blog backup"
341
         backup_directory_to_usb /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs blog
305
         backup_directory_to_usb /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs blog
342
     else
306
     else
349
 # Backup certificates
313
 # Backup certificates
350
 if [ -d /etc/ssl ]; then
314
 if [ -d /etc/ssl ]; then
351
     echo $"Backing up certificates"
315
     echo $"Backing up certificates"
352
-    if [ ! -d $USB_MOUNT/backup/ssl ]; then
353
-        mkdir -p $USB_MOUNT/backup/ssl
354
-    fi
355
     backup_directory_to_usb /etc/ssl ssl
316
     backup_directory_to_usb /etc/ssl ssl
356
 fi
317
 fi
357
 
318
 
358
 # Backup the public mailing list
319
 # Backup the public mailing list
359
 if [ -d /var/spool/mlmmj ]; then
320
 if [ -d /var/spool/mlmmj ]; then
360
     echo $"Backing up the public mailing list"
321
     echo $"Backing up the public mailing list"
361
-    if [ ! -d $USB_MOUNT/backup/mailinglist ]; then
362
-        mkdir -p $USB_MOUNT/backup/mailinglist
363
-    fi
364
     backup_directory_to_usb /var/spool/mlmmj mailinglist
322
     backup_directory_to_usb /var/spool/mlmmj mailinglist
365
 fi
323
 fi
366
 
324
 
367
 # Backup xmpp settings
325
 # Backup xmpp settings
368
 if [ -d /var/lib/prosody ]; then
326
 if [ -d /var/lib/prosody ]; then
369
     echo $"Backing up the XMPP settings"
327
     echo $"Backing up the XMPP settings"
370
-    if [ ! -d $USB_MOUNT/backup/xmpp ]; then
371
-        mkdir -p $USB_MOUNT/backup/xmpp
372
-    fi
373
     backup_directory_to_usb /var/lib/prosody xmpp
328
     backup_directory_to_usb /var/lib/prosody xmpp
374
 fi
329
 fi
375
 
330
 
376
 # Backup web sites
331
 # Backup web sites
377
 if [ -d /etc/nginx ]; then
332
 if [ -d /etc/nginx ]; then
378
     echo $"Backing up web settings"
333
     echo $"Backing up web settings"
379
-    if [ ! -d $USB_MOUNT/backup/web ]; then
380
-        mkdir -p $USB_MOUNT/backup/web
381
-    fi
382
     backup_directory_to_usb /etc/nginx/sites-available web
334
     backup_directory_to_usb /etc/nginx/sites-available web
383
 fi
335
 fi
384
 
336
 
385
 # Backup admin user README file
337
 # Backup admin user README file
386
 if [ -f /home/$ADMIN_USERNAME/README ]; then
338
 if [ -f /home/$ADMIN_USERNAME/README ]; then
387
     echo $"Backing up README"
339
     echo $"Backing up README"
388
-    if [ ! -d $USB_MOUNT/backup/readme ]; then
389
-        mkdir -p $USB_MOUNT/backup/readme
390
-    fi
391
     if [ ! -d /home/$ADMIN_USERNAME/tempbackup ]; then
340
     if [ ! -d /home/$ADMIN_USERNAME/tempbackup ]; then
392
         mkdir -p /home/$ADMIN_USERNAME/tempbackup
341
         mkdir -p /home/$ADMIN_USERNAME/tempbackup
393
     fi
342
     fi
398
 # Backup IPFS
347
 # Backup IPFS
399
 if [ -d /home/$ADMIN_USERNAME/.ipfs ]; then
348
 if [ -d /home/$ADMIN_USERNAME/.ipfs ]; then
400
     echo $"Backing up IPFS"
349
     echo $"Backing up IPFS"
401
-    if [ ! -d $USB_MOUNT/backup/ipfs ]; then
402
-        mkdir -p $USB_MOUNT/backup/ipfs
403
-    fi
404
     backup_directory_to_usb /home/$ADMIN_USERNAME/.ipfs ipfs
350
     backup_directory_to_usb /home/$ADMIN_USERNAME/.ipfs ipfs
405
 fi
351
 fi
406
 
352
 
407
 # Backup DLNA cache
353
 # Backup DLNA cache
408
 if [ -d /var/cache/minidlna ]; then
354
 if [ -d /var/cache/minidlna ]; then
409
     echo $"Backing up DLNA cache"
355
     echo $"Backing up DLNA cache"
410
-    if [ ! -d $USB_MOUNT/backup/dlna ]; then
411
-        mkdir -p $USB_MOUNT/backup/dlna
412
-    fi
413
     backup_directory_to_usb /var/cache/minidlna dlna
356
     backup_directory_to_usb /var/cache/minidlna dlna
414
 fi
357
 fi
415
 
358
 
422
     cp -f /etc/mumble-server.ini /root/tempvoipbackup
365
     cp -f /etc/mumble-server.ini /root/tempvoipbackup
423
     cp -f /var/lib/mumble-server/mumble-server.sqlite /root/tempvoipbackup
366
     cp -f /var/lib/mumble-server/mumble-server.sqlite /root/tempvoipbackup
424
     cp -f /etc/sipwitch.conf /root/tempvoipbackup
367
     cp -f /etc/sipwitch.conf /root/tempvoipbackup
425
-    if [ ! -d $USB_MOUNT/backup/voip ]; then
426
-        mkdir -p $USB_MOUNT/backup/voip
427
-    fi
428
     backup_directory_to_usb /root/tempvoipbackup voip
368
     backup_directory_to_usb /root/tempvoipbackup voip
429
 fi
369
 fi
430
 
370
 
431
 # MariaDB settings
371
 # MariaDB settings
432
 if [ ${#DATABASE_PASSWORD} -gt 1 ]; then
372
 if [ ${#DATABASE_PASSWORD} -gt 1 ]; then
433
-    if [ ! -d $USB_MOUNT/backup/mariadb ]; then
434
-        mkdir -p $USB_MOUNT/backup/mariadb
435
-    fi
436
     if [ ! -d /root/tempmariadb ]; then
373
     if [ ! -d /root/tempmariadb ]; then
437
         mkdir /root/tempmariadb
374
         mkdir /root/tempmariadb
438
     fi
375
     fi
452
 # Backup Tox node settings
389
 # Backup Tox node settings
453
 if [ -d /var/lib/tox-bootstrapd ]; then
390
 if [ -d /var/lib/tox-bootstrapd ]; then
454
     echo $"Backing up Tox node settings"
391
     echo $"Backing up Tox node settings"
455
-    if [ ! -d $USB_MOUNT/backup/tox ]; then
456
-        mkdir -p $USB_MOUNT/backup/tox
457
-    fi
458
     cp /etc/tox-bootstrapd.conf /var/lib/tox-bootstrapd
392
     cp /etc/tox-bootstrapd.conf /var/lib/tox-bootstrapd
459
     if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
393
     if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
460
         rm -rf /var/lib/tox-bootstrapd/Maildir
394
         rm -rf /var/lib/tox-bootstrapd/Maildir