Browse Source

Alternate backup cleanup after 180 days method.

David Kerr 8 years ago
parent
commit
18a90734d9
1 changed files with 7 additions and 3 deletions
  1. 7 3
      deploy/ssh.sh

+ 7 - 3
deploy/ssh.sh

@@ -75,7 +75,7 @@ ssh_deploy() {
   fi
 
   # BACKUP is optional. If not provided then default to yes
-  if [ "$ACME_DEPLOY_SSH_BACKUP" = "no"]; then
+  if [ "$ACME_DEPLOY_SSH_BACKUP" = "no" ]; then
     Le_Deploy_ssh_backup="no"
   elif [ -z "$Le_Deploy_ssh_backup" ]; then
     Le_Deploy_ssh_backup="yes"
@@ -178,8 +178,12 @@ ssh_deploy() {
     _err "No remote commands to excute. Failed to deploy certificates to remote server"
     return 1
   elif [ "$Le_Deploy_ssh_backup" = "yes" ]; then
-    # run cleanup on the backup directory, erase all older than 180 days.
-    _cmdstr="find $_backupprefix* -type d -mtime +180 2>/dev/null | xargs rm -rf ; $_cmdstr"
+    # run cleanup on the backup directory, erase all older
+    # than 180 days (15552000 seconds).
+    _cmdstr="{ now=\"\$(date -u +%s)\"; for fn in $_backupprefix*; \
+do if [ -d \"\$fn\" ] && [ \"\$(expr \$now - \$(date -ur \$fn +%s) )\" -ge \"15552000\" ]; \
+then rm -rf \"\$fn\"; echo \"Backup \$fn deleted as older than 180 days\"; fi; done; }; $_cmdstr"
+    # Alternate version of above... _cmdstr="find $_backupprefix* -type d -mtime +180 2>/dev/null | xargs rm -rf ; $_cmdstr"
     # Create our backup directory for overwritten cert files.
     _cmdstr="mkdir -p $_backupdir ; $_cmdstr"
     _info "Backup of old certificate files will be placed in remote directory $_backupdir"