Bladeren bron

Use sshpass for remote backups

Bob Mottram 10 jaren geleden
bovenliggende
commit
35908ff8dc
1 gewijzigde bestanden met toevoegingen van 5 en 7 verwijderingen
  1. 5
    7
      install-freedombone.sh

+ 5
- 7
install-freedombone.sh Bestand weergeven

@@ -1593,7 +1593,7 @@ function backup_to_friends_servers {
1593 1593
       return
1594 1594
   fi
1595 1595
 
1596
-  apt-get -y --force-yes install rsyncrypto
1596
+  apt-get -y --force-yes install rsyncrypto sshpass
1597 1597
 
1598 1598
   get_mariadb_password
1599 1599
   get_mariadb_gnusocial_admin_password
@@ -2146,7 +2146,7 @@ function backup_to_friends_servers {
2146 2146
   echo -n "awk -F ' ' '{print " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2147 2147
   echo -n '$2' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2148 2148
   echo "}')" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2149
-  echo -n '    export RSYNC_PASSWORD=$(echo "${remote_server}" | ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2149
+  echo -n '    REMOTE_PASSWORD=$(echo "${remote_server}" | ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2150 2150
   echo -n "awk -F ' ' '{print " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2151 2151
   echo -n '$3' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2152 2152
   echo "}')" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -2154,7 +2154,8 @@ function backup_to_friends_servers {
2154 2154
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2155 2155
 
2156 2156
   echo '    echo "$NOW Starting backup to $REMOTE_SERVER" >> /var/log/backup_to_friends.log' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2157
-  echo -n '    rsync -avz -e "ssh -p $REMOTE_SSH_PORT" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2157
+
2158
+  echo -n '    rsync -ratlz --rsh="/usr/bin/sshpass -p $REMOTE_PASSWORD ssh -p $REMOTE_SSH_PORT -o StrictHostKeyChecking=no" ' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2158 2159
   echo '$SERVER_DIRECTORY/backup $REMOTE_SERVER' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2159 2160
   echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2160 2161
   echo '      echo "$NOW Backup to $REMOTE_SERVER failed" >> /var/log/backup_to_friends.log' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -2171,9 +2172,6 @@ function backup_to_friends_servers {
2171 2172
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2172 2173
   echo "done < $FRIENDS_SERVERS_LIST" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2173 2174
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2174
-  echo '# Clear the rsync password' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2175
-  echo 'export RSYNC_PASSWORD=""' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2176
-  echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2177 2175
   echo 'exit 0' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2178 2176
   chown root:root /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2179 2177
   chmod 400 /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
@@ -2192,7 +2190,7 @@ function restore_from_friend {
2192 2190
       return
2193 2191
   fi
2194 2192
 
2195
-  apt-get -y --force-yes install rsyncrypto
2193
+  apt-get -y --force-yes install rsyncrypto sshpass
2196 2194
 
2197 2195
   get_mariadb_password
2198 2196
   get_mariadb_gnusocial_admin_password