Просмотр исходного кода

Remote backup and restore with multiple users

Bob Mottram 9 лет назад
Родитель
Сommit
aa2e173fbc
1 измененных файлов: 291 добавлений и 181 удалений
  1. 291
    181
      src/freedombone

+ 291
- 181
src/freedombone Просмотреть файл

@@ -4105,23 +4105,33 @@ function backup_to_friends_servers {
4105 4105
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4106 4106
 
4107 4107
   echo '# Backup projects' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4108
-  echo 'if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4109
-  echo '  echo "Backing up projects"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4110
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/projects ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4111
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/projects' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4108
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4109
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4110
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4111
+  echo '    if [ -d /home/$USERNAME/projects ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4112
+  echo '      echo "Backing up projects for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4113
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/projects/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4114
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/projects/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4115
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4116
+  echo '      backup_directory_to_friend /home/$USERNAME/projects projects/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4117
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4112 4118
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4113
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/projects projects' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4114
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4119
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4115 4120
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4116 4121
 
4117 4122
   echo '# Backup personal settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4118
-  echo 'if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4119
-  echo '  echo "Backing up personal settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4120
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/personal ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4121
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/personal' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4123
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4124
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4125
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4126
+  echo '    if [ -d /home/$USERNAME/personal ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4127
+  echo '      echo "Backing up personal settings for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4128
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/personal/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4129
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/personal/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4130
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4131
+  echo '      backup_directory_to_friend /home/$USERNAME/personal personal/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4132
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4122 4133
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4123
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/personal personal' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4124
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4134
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4125 4135
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4126 4136
 
4127 4137
   echo '# Backup the public mailing list' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4145,23 +4155,33 @@ function backup_to_friends_servers {
4145 4155
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4146 4156
 
4147 4157
   echo '# Backup gpg keys' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4148
-  echo 'if [ -d /home/$MY_USERNAME/.gnupg ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4149
-  echo '  echo "Backing up gpg keys"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4150
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/gnupg ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4151
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/gnupg' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4158
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4159
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4160
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4161
+  echo '    if [ -d /home/$USERNAME/.gnupg ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4162
+  echo '      echo "Backing up gpg keys for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4163
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/gnupg/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4164
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/gnupg/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4165
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4166
+  echo '      backup_directory_to_friend /home/$USERNAME/.gnupg gnupg/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4167
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4152 4168
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4153
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/.gnupg gnupg' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4154
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4169
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4155 4170
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4156 4171
 
4157 4172
   echo '# Backup ssh keys' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4158
-  echo 'if [ -d /home/$MY_USERNAME/.ssh ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4159
-  echo '  echo "Backing up ssh keys"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4160
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/ssh ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4161
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/ssh' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4173
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4174
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4175
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4176
+  echo '    if [ -d /home/$USERNAME/.ssh ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4177
+  echo '      echo "Backing up ssh keys for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4178
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/ssh/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4179
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/ssh/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4180
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4181
+  echo '      backup_directory_to_friend /home/$USERNAME/.ssh ssh/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4182
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4162 4183
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4163
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/.ssh ssh' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4164
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4184
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4165 4185
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4166 4186
 
4167 4187
   echo '# Backup web sites' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4199,59 +4219,79 @@ function backup_to_friends_servers {
4199 4219
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4200 4220
 
4201 4221
   echo '# Backup Mutt settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4202
-  echo 'if [ -f /home/$MY_USERNAME/.muttrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4203
-  echo '  echo "Backing up Mutt settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4204
-  echo '  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4205
-  echo '    mkdir -p /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4206
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4207
-  echo '  cp /home/$MY_USERNAME/.muttrc /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4208
-  echo '  if [ -f /etc/Muttrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4209
-  echo '    cp /etc/Muttrc /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4210
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4211
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/mutt ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4212
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/mutt' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4222
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4223
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4224
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4225
+  echo '    if [ -f /home/$USERNAME/.muttrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4226
+  echo '      echo "Backing up Mutt settings for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4227
+  echo '      if [ ! -d /home/$USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4228
+  echo '        mkdir -p /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4229
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4230
+  echo '      cp /home/$USERNAME/.muttrc /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4231
+  echo '      if [ -f /etc/Muttrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4232
+  echo '        cp /etc/Muttrc /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4233
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4234
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/mutt/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4235
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/mutt/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4236
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4237
+  echo '      backup_directory_to_friend /home/$USERNAME/tempbackup mutt/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4238
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4213 4239
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4214
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/tempbackup mutt' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4215
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4240
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4216 4241
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4217 4242
 
4218 4243
   echo '# Backup procmail settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4219
-  echo 'if [ -f /home/$MY_USERNAME/.procmailrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4220
-  echo '  echo "Backing up procmail settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4221
-  echo '  if [ ! -d /home/$MY_USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4222
-  echo '    mkdir -p /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4223
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4224
-  echo '  cp /home/$MY_USERNAME/.procmailrc /home/$MY_USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4225
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/procmail ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4226
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/procmail' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4244
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4245
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4246
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4247
+  echo '    if [ -f /home/$USERNAME/.procmailrc ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4248
+  echo '      echo "Backing up procmail settings for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4249
+  echo '      if [ ! -d /home/$USERNAME/tempbackup ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4250
+  echo '        mkdir -p /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4251
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4252
+  echo '      cp /home/$USERNAME/.procmailrc /home/$USERNAME/tempbackup' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4253
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/procmail/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4254
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/procmail/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4255
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4256
+  echo '      backup_directory_to_friend /home/$USERNAME/tempbackup procmail/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4257
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4227 4258
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4228
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/tempbackup procmail' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4229
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4259
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4230 4260
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4231 4261
 
4232 4262
   echo '# Backup spamassassin settings' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4233
-  echo 'if [ -d /home/$MY_USERNAME/.spamassassin ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4234
-  echo '  echo "Backing up spamassassin settings"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4235
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/spamassassin ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4236
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/spamassassin' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4263
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4264
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4265
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4266
+  echo '    if [ -d /home/$USERNAME/.spamassassin ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4267
+  echo '      echo "Backing up spamassassin settings for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4268
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/spamassassin/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4269
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/spamassassin/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4270
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4271
+  echo '      backup_directory_to_friend /home/$USERNAME/.spamassassin spamassassin/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4272
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4237 4273
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4238
-  echo '  backup_directory_to_friend /home/$MY_USERNAME/.spamassassin spamassassin' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4239
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4274
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4240 4275
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4241 4276
 
4242 4277
   echo '# Backup email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4243
-  echo 'if [ -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4244
-  echo '  echo "Creating an email archive"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4245
-  echo '  if [ ! -d /root/backupemail ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4246
-  echo "    mkdir -p /root/backupemail" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4247
-  echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4248
-  echo '  tar -czvf /root/backupemail/maildir.tar.gz /home/$MY_USERNAME/Maildir' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4249
-  echo '  echo "Backing up emails"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4250
-  echo '  if [ ! -d $SERVER_DIRECTORY/backup/mail ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4251
-  echo '    mkdir -p $SERVER_DIRECTORY/backup/mail' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4278
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4279
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4280
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4281
+  echo '    if [ -d /home/$USERNAME/Maildir ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4282
+  echo '      echo "Creating an email archive"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4283
+  echo '      if [ ! -d /root/backupemail/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4284
+  echo "        mkdir -p /root/backupemail/$USERNAME" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4285
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4286
+  echo '      tar -czvf /root/backupemail/$USERNAME/maildir.tar.gz /home/$USERNAME/Maildir' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4287
+  echo '      echo "Backing up emails for $USERNAME"' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4288
+  echo '      if [ ! -d $SERVER_DIRECTORY/backup/mail/$USERNAME ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4289
+  echo '        mkdir -p $SERVER_DIRECTORY/backup/mail/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4290
+  echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4291
+  echo '      backup_directory_to_friend /root/backupemail/$USERNAME mail/$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4292
+  echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4252 4293
   echo '  fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4253
-  echo '  backup_directory_to_friend /root/backupemail mail' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4254
-  echo 'fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4294
+  echo 'done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4255 4295
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4256 4296
 
4257 4297
   echo '# Backup DLNA cache' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4352,9 +4392,12 @@ function backup_to_friends_servers {
4352 4392
   if [[ $ENABLE_SOCIAL_KEY_MANAGEMENT == "yes" ]]; then
4353 4393
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4354 4394
       echo '    # Social key management' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4355
-      echo '    if [ -d /home/$MY_USERNAME/.gnupg_fragments ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4356
-      echo '        if [ $REMOTE_DOMAIN ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4357
-      echo '            cd /home/$MY_USERNAME/.gnupg_fragments' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4395
+      echo '    for d in /home/*/ ; do' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4396
+      echo '      USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4397
+      echo '      if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4398
+      echo '        if [ -d /home/$USERNAME/.gnupg_fragments ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4399
+      echo '          if [ $REMOTE_DOMAIN ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4400
+      echo '            cd /home/$USERNAME/.gnupg_fragments' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4358 4401
       echo '            no_of_shares=$(ls -afq keyshare.asc.* | wc -l)' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4359 4402
       echo '            if (( no_of_shares > 0 )); then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4360 4403
       echo '                # Pick a share index based on the domain name' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4363,17 +4406,17 @@ function backup_to_friends_servers {
4363 4406
       echo '                share_index=$(echo $((0x${sharenumstr%% *} % ${no_of_shares})) | tr -d -)' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4364 4407
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4365 4408
       echo '                # get the share filename' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4366
-      echo '                share_files=(/home/$MY_USERNAME/.gnupg_fragments/keyshare.asc.*)' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4409
+      echo '                share_files=(/home/$USERNAME/.gnupg_fragments/keyshare.asc.*)' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4367 4410
       echo '                share_filename=${share_files[share_index]}' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4368 4411
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4369 4412
       echo '                # create a temp directory containing the share' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4370
-      echo '                mkdir -p /home/$MY_USERNAME/tempkey/.gnupg_fragments' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4371
-      echo '                cp $share_filename /home/$MY_USERNAME/tempkey/.gnupg_fragments/' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4413
+      echo '                mkdir -p /home/$USERNAME/tempkey/.gnupg_fragments_$USERNAME' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4414
+      echo '                cp $share_filename /home/$USERNAME/tempkey/.gnupg_fragments_$USERNAME/' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4372 4415
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4373 4416
       echo '                # copy the fragments directory to the remote server' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4374 4417
       echo -n '                /usr/bin/sshpass -p $REMOTE_PASSWORD ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4375 4418
       echo -n 'scp -r -P $REMOTE_SSH_PORT ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4376
-      echo -n '/home/$MY_USERNAME/tempkey/.gnupg_fragments ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4419
+      echo -n '/home/$USERNAME/tempkey/.gnupg_fragments_$USERNAME ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4377 4420
       echo '$REMOTE_SERVER' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4378 4421
       echo '                if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4379 4422
       echo '                    # Send a warning email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4382,15 +4425,17 @@ function backup_to_friends_servers {
4382 4425
       echo '                fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4383 4426
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4384 4427
       echo '                # remove the temp file/directory' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4385
-      echo '                shred -zu /home/$MY_USERNAME/tempkey/.gnupg_fragments/*' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4386
-      echo '                rm -rf /home/$MY_USERNAME/tempkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4428
+      echo '                shred -zu /home/$USERNAME/tempkey/.gnupg_fragments_$USERNAME/*' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4429
+      echo '                rm -rf /home/$USERNAME/tempkey' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4387 4430
       echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4388 4431
       echo '                # Send a confirmation email' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4389 4432
       echo -n '                echo "Key shared to $REMOTE_SERVER" | mail -s "Freedombone social key management" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4390 4433
       echo "$MY_EMAIL_ADDRESS" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4391 4434
       echo '            fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4435
+      echo '          fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4392 4436
       echo '        fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4393
-      echo '    fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4437
+      echo '      fi' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4438
+      echo '    done' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
4394 4439
   fi
4395 4440
 
4396 4441
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -4644,80 +4689,100 @@ function restore_from_friend {
4644 4689
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4645 4690
       RESTORE_SUBDIR='remoterestore/backup/mutt/'
4646 4691
   fi
4647
-  echo 'if [ -d $SERVER_DIRECTORY/backup/mutt ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4648
-  echo '  echo "Restoring Mutt settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4649
-  echo '  restore_directory_from_friend /root/tempmutt mutt' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4650
-  echo -n "  if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4651
-  echo '$MY_USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4652
-  echo -n "    cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4653
-  echo '$MY_USERNAME/tempbackup/.muttrc /home/$MY_USERNAME/.muttrc' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4654
-  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4655
-  echo -n "  if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4656
-  echo '$MY_USERNAME/tempbackup/Muttrc ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4657
-  echo -n "    cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4658
-  echo '$MY_USERNAME/tempbackup/Muttrc /etc/Muttrc' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4659
-  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4660
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4661
-  echo '    rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4662
-  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4692
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4693
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4694
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4695
+  echo '    if [ -d $SERVER_DIRECTORY/backup/mutt/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4696
+  echo '      echo "Restoring Mutt settings for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4697
+  echo '      restore_directory_from_friend /root/tempmutt mutt/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4698
+  echo -n "      if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4699
+  echo '$USERNAME/tempbackup/.muttrc ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4700
+  echo -n "        cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4701
+  echo '$USERNAME/tempbackup/.muttrc /home/$USERNAME/.muttrc' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4702
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4703
+  echo -n "      if [ -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4704
+  echo '$USERNAME/tempbackup/Muttrc ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4705
+  echo -n "        cp -f /root/tempmutt/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4706
+  echo '$USERNAME/tempbackup/Muttrc /etc/Muttrc' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4707
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4708
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4709
+  echo '        rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4710
+  echo '        exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4711
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4712
+  echo '      rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4713
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4663 4714
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4664
-  echo '  rm -rf /root/tempmutt' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4665
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4715
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4666 4716
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4667 4717
 
4668 4718
   RESTORE_SUBDIR='home'
4669 4719
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4670 4720
       RESTORE_SUBDIR='remoterestore/backup/gnupg'
4671 4721
   fi
4672
-  echo 'if [ -d $SERVER_DIRECTORY/backup/gnupg ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4673
-  echo '  echo "Restoring gnupg settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4674
-  echo '  restore_directory_from_friend /root/tempgnupg gnupg' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4675
-  echo -n "  cp -r /root/tempgnupg/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4676
-  echo '$MY_USERNAME/.gnupg /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4677
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4678
-  echo '    rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4679
-  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4680
-  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4681
-  echo '  rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4682
-  echo '  cp -r /home/$MY_USERNAME/.gnupg /root' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4683
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4684
-  echo '    exit 283' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4722
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4723
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4724
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4725
+  echo '    if [ -d $SERVER_DIRECTORY/backup/gnupg/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4726
+  echo '      echo "Restoring gnupg settings for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4727
+  echo '      restore_directory_from_friend /root/tempgnupg gnupg/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4728
+  echo -n "      cp -r /root/tempgnupg/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4729
+  echo '$USERNAME/.gnupg /home/$USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4730
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4731
+  echo '        rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4732
+  echo '        exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4733
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4734
+  echo '      rm -rf /root/tempgnupg' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4735
+  echo '      cp -r /home/$USERNAME/.gnupg /root' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4736
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4737
+  echo '        exit 283' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4738
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4739
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4685 4740
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4686
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4741
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4687 4742
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4688 4743
 
4689 4744
   RESTORE_SUBDIR='home'
4690 4745
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4691 4746
       RESTORE_SUBDIR='remoterestore/backup/procmail'
4692 4747
   fi
4693
-  echo 'if [ -d $SERVER_DIRECTORY/backup/procmail ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4694
-  echo '  echo "Restoring procmail settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4695
-  echo '  restore_directory_from_friend /root/tempprocmail procmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4696
-  echo -n "  cp -f /root/tempprocmail/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4697
-  echo '/$MY_USERNAME/tempbackup/.procmailrc /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4698
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4699
-  echo '    rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4700
-  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4748
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4749
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4750
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4751
+  echo '    if [ -d $SERVER_DIRECTORY/backup/procmail/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4752
+  echo '      echo "Restoring procmail settings for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4753
+  echo '      restore_directory_from_friend /root/tempprocmail procmail/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4754
+  echo -n "      cp -f /root/tempprocmail/${RESTORE_SUBDIR}" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4755
+  echo '/$USERNAME/tempbackup/.procmailrc /home/$USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4756
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4757
+  echo '        rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4758
+  echo '        exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4759
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4760
+  echo '      rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4761
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4701 4762
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4702
-  echo '  rm -rf /root/tempprocmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4703
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4763
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4704 4764
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4705 4765
 
4706 4766
   RESTORE_SUBDIR='home'
4707 4767
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4708 4768
       RESTORE_SUBDIR='remoterestore/backup/spamassassin'
4709 4769
   fi
4710
-  echo 'if [ -d $SERVER_DIRECTORY/backup/spamassassin ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4711
-  echo '  echo "Restoring spamassassin settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4712
-  echo '  restore_directory_from_friend /root/tempspamassassin spamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4713
-  echo -n "  cp -rf /root/tempspamassassin/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4714
-  echo '$MY_USERNAME/.spamassassin /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4715
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4716
-  echo '    rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4717
-  echo '    exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4770
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4771
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4772
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4773
+  echo '    if [ -d $SERVER_DIRECTORY/backup/spamassassin/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4774
+  echo '      echo "Restoring spamassassin settings for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4775
+  echo '      restore_directory_from_friend /root/tempspamassassin spamassassin/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4776
+  echo -n "      cp -rf /root/tempspamassassin/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4777
+  echo '$USERNAME/.spamassassin /home/$USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4778
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4779
+  echo '        rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4780
+  echo '        exit 276' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4781
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4782
+  echo '      rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4783
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4718 4784
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4719
-  echo '  rm -rf /root/tempspamassassin' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4720
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4785
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4721 4786
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4722 4787
 
4723 4788
   RESTORE_SUBDIR='home'
@@ -4758,17 +4823,22 @@ function restore_from_friend {
4758 4823
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4759 4824
       RESTORE_SUBDIR='remoterestore/backup/ssh'
4760 4825
   fi
4761
-  echo 'if [ -d $SERVER_DIRECTORY/backup/ssh ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4762
-  echo '  echo "Restoring ssh keys"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4763
-  echo '  restore_directory_from_friend /root/tempssh ssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4764
-  echo -n "  cp -r /root/tempssh/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4765
-  echo '$MY_USERNAME/.ssh /home/$MY_USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4766
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4767
-  echo '    rm -rf /root/tempssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4768
-  echo '    exit 664' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4826
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4827
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4828
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4829
+  echo '    if [ -d $SERVER_DIRECTORY/backup/ssh/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4830
+  echo '      echo "Restoring ssh keys for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4831
+  echo '      restore_directory_from_friend /root/tempssh ssh/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4832
+  echo -n "      cp -r /root/tempssh/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4833
+  echo '$USERNAME/.ssh /home/$USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4834
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4835
+  echo '        rm -rf /root/tempssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4836
+  echo '        exit 664' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4837
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4838
+  echo '      rm -rf /root/tempssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4839
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4769 4840
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4770
-  echo '  rm -rf /root/tempssh' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4771
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4841
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4772 4842
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4773 4843
 
4774 4844
   RESTORE_SUBDIR='etc'
@@ -4791,38 +4861,48 @@ function restore_from_friend {
4791 4861
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4792 4862
       RESTORE_SUBDIR='remoterestore/backup/projects'
4793 4863
   fi
4794
-  echo 'if [ -d $SERVER_DIRECTORY/backup/projects ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4795
-  echo '  echo "Restoring projects"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4796
-  echo '  restore_directory_from_friend /root/tempprojects projects' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4797
-  echo '  if [ -d /home/$MY_USERNAME/projects ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4798
-  echo '    rm -rf /home/$MY_USERNAME/projects' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4799
-  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4800
-  echo -n "  mv /root/tempprojects/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4801
-  echo '$MY_USERNAME/projects /home/$MY_USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4802
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4803
-  echo '    exit 166' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4864
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4865
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4866
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4867
+  echo '    if [ -d $SERVER_DIRECTORY/backup/projects/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4868
+  echo '      echo "Restoring projects for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4869
+  echo '      restore_directory_from_friend /root/tempprojects projects/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4870
+  echo '      if [ -d /home/$USERNAME/projects ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4871
+  echo '        rm -rf /home/$USERNAME/projects' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4872
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4873
+  echo -n "      mv /root/tempprojects/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4874
+  echo '$USERNAME/projects /home/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4875
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4876
+  echo '        exit 166' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4877
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4878
+  echo '      rm -rf /root/tempprojects' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4879
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4804 4880
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4805
-  echo '  rm -rf /root/tempprojects' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4806
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4881
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4807 4882
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4808 4883
 
4809 4884
   RESTORE_SUBDIR='home'
4810 4885
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
4811 4886
       RESTORE_SUBDIR='remoterestore/backup/personal'
4812 4887
   fi
4813
-  echo 'if [ -d $SERVER_DIRECTORY/backup/personal ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4814
-  echo '  echo "Restoring personal settings"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4815
-  echo '  restore_directory_from_friend /root/temppersonal personal' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4816
-  echo '  if [ -d /home/$MY_USERNAME/personal ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4817
-  echo '    rm -rf /home/$MY_USERNAME/personal' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4818
-  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4819
-  echo -n "  mv /root/temppersonal/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4820
-  echo '$MY_USERNAME/personal /home/$MY_USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4821
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4822
-  echo '    exit 184' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4888
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4889
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4890
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4891
+  echo '    if [ -d $SERVER_DIRECTORY/backup/personal/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4892
+  echo '      echo "Restoring personal settings for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4893
+  echo '      restore_directory_from_friend /root/temppersonal personal/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4894
+  echo '      if [ -d /home/$USERNAME/personal ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4895
+  echo '        rm -rf /home/$USERNAME/personal' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4896
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4897
+  echo -n "      mv /root/temppersonal/${RESTORE_SUBDIR}/" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4898
+  echo '$USERNAME/personal /home/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4899
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4900
+  echo '        exit 184' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4901
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4902
+  echo '      rm -rf /root/temppersonal' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4903
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4823 4904
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4824
-  echo '  rm -rf /root/temppersonal' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4825
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4905
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4826 4906
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4827 4907
 
4828 4908
   RESTORE_SUBDIR='root'
@@ -4910,7 +4990,12 @@ function restore_from_friend {
4910 4990
       echo '  chown -R www-data:www-data /var/lib/owncloud/data' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4911 4991
       echo '  chown -R www-data:www-data /var/lib/owncloud/backup' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4912 4992
       echo '  chown -R www-data:www-data /var/lib/owncloud/assets' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4913
-      echo '  occ files:scan $MY_USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4993
+      echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4994
+      echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4995
+      echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4996
+      echo '      occ files:scan $USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4997
+      echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4998
+      echo '  done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4914 4999
       echo "  ln -s /usr/share/owncloud /var/www/$OWNCLOUD_DOMAIN_NAME/htdocs" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4915 5000
       echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
4916 5001
       echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
@@ -5014,12 +5099,19 @@ function restore_from_friend {
5014 5099
   echo "  if [ -f /etc/ssl/certs/$FULLBLOG_DOMAIN_NAME.bundle.crt ]; then" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5015 5100
   echo "    sed -i 's|$FULLBLOG_DOMAIN_NAME.crt|$FULLBLOG_DOMAIN_NAME.bundle.crt|g' /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5016 5101
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5017
-  echo -n "  if [ -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5018
-  echo '/$MY_USERNAME/blog/uncategorized/post ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5019
-  echo -n "    mv /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5020
-  echo -n '/$MY_USERNAME/blog/*.md ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5102
+
5103
+  echo '  for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5104
+  echo '    USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5105
+  echo '    if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5106
+
5107
+  echo -n "      if [ -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5108
+  echo '/$USERNAME/blog/uncategorized/post ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5109
+  echo -n "      mv /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5110
+  echo -n '/$USERNAME/blog/*.md ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5021 5111
   echo -n "/var/www/$FULLBLOG_DOMAIN_NAME/htdocs/content" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5022
-  echo '/$MY_USERNAME/blog/uncategorized/post ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5112
+  echo '/$USERNAME/blog/uncategorized/post ' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5113
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5114
+  echo '  done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5023 5115
   echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5024 5116
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5025 5117
 
@@ -5086,18 +5178,23 @@ function restore_from_friend {
5086 5178
   if [[ $BACKUP_TYPE != 'obnam' ]]; then
5087 5179
       RESTORE_SUBDIR='remoterestore/backup/mail'
5088 5180
   fi
5089
-  echo 'if [ -d $SERVER_DIRECTORY/backup/mail ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5090
-  echo '  echo "Restoring emails"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5091
-  echo '  restore_directory_from_friend /root/tempmail mail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5092
-  echo '  if [ ! -d /home/$MY_USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5093
-  echo '    mkdir /home/$MY_USERNAME/Maildir' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5094
-  echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5095
-  echo "  tar -xzvf /root/tempmail/${RESTORE_SUBDIR}/tempbackupemail/maildir.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5096
-  echo '  if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5097
-  echo '    exit 927' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5181
+  echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5182
+  echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5183
+  echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5184
+  echo '    if [ -d $SERVER_DIRECTORY/backup/mail/$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5185
+  echo '      echo "Restoring emails for $USERNAME"' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5186
+  echo '      restore_directory_from_friend /root/tempmail mail/$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5187
+  echo '      if [ ! -d /home/$USERNAME/Maildir ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5188
+  echo '        mkdir /home/$USERNAME/Maildir' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5189
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5190
+  echo "      tar -xzvf /root/tempmail/${RESTORE_SUBDIR}/tempbackupemail/maildir.tar.gz -C /" >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5191
+  echo '      if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5192
+  echo '        exit 927' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5193
+  echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5194
+  echo '      rm -rf /root/tempmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5195
+  echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5098 5196
   echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5099
-  echo '  rm -rf /root/tempmail' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5100
-  echo 'fi' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5197
+  echo 'done' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5101 5198
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5102 5199
 
5103 5200
   RESTORE_SUBDIR='var'
@@ -5118,10 +5215,23 @@ function restore_from_friend {
5118 5215
 
5119 5216
   if [[ $ENABLE_SOCIAL_KEY_MANAGEMENT == "yes" ]]; then
5120 5217
       echo '' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5121
-      echo '# Retrieve key fragments' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5122
-      echo -n '/usr/bin/sshpass -p $REMOTE_PASSWORD ' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5123
-      echo -n "scp -r -P $REMOTE_SSH_PORT $REMOTE_SERVER/.gnupg_fragments " >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5124
-      echo '/home/$MY_USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5218
+      echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5219
+      echo '  USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5220
+      echo '  if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME
5221
+      echo '    # Retrieve key fragments for $USERNAME' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5222
+      echo -n '    /usr/bin/sshpass -p $REMOTE_PASSWORD ' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5223
+      echo -n "scp -r -P $REMOTE_SSH_PORT $REMOTE_SERVER/.gnupg_fragments_$USERNAME " >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5224
+      echo '/home/$USERNAME/' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5225
+      echo '    if [ -d /home/$USERNAME/.gnupg_fragments_$USERNAME ]; then' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5226
+      echo '      if [ -d /home/$USERNAME/.gnupg_fragments ]; then' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5227
+      echo '        cp /home/$USERNAME/.gnupg_fragments_$USERNAME/* /home/$USERNAME/.gnupg_fragments' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5228
+      echo '        rm -rf /home/$USERNAME/.gnupg_fragments_$USERNAME' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5229
+      echo '      else' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5230
+      echo '        mv /home/$USERNAME/.gnupg_fragments_$USERNAME /home/$USERNAME/.gnupg_fragments' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5231
+      echo '      fi' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5232
+      echo '    fi' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5233
+      echo '  fi' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5234
+      echo 'done' >> /usr/bin/$RESTORE_FROM_FRIENDS_SCRIPT_NAME
5125 5235
   fi
5126 5236
 
5127 5237
   echo '' >> /usr/bin/$RESTORE_FROM_FRIEND_SCRIPT_NAME