Преглед изворни кода

Use sshpass for remote backups

Bob Mottram пре 10 година
родитељ
комит
35908ff8dc
1 измењених фајлова са 5 додато и 7 уклоњено
  1. 5
    7
      install-freedombone.sh

+ 5
- 7
install-freedombone.sh Прегледај датотеку

1593
       return
1593
       return
1594
   fi
1594
   fi
1595
 
1595
 
1596
-  apt-get -y --force-yes install rsyncrypto
1596
+  apt-get -y --force-yes install rsyncrypto sshpass
1597
 
1597
 
1598
   get_mariadb_password
1598
   get_mariadb_password
1599
   get_mariadb_gnusocial_admin_password
1599
   get_mariadb_gnusocial_admin_password
2146
   echo -n "awk -F ' ' '{print " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2146
   echo -n "awk -F ' ' '{print " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2147
   echo -n '$2' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2147
   echo -n '$2' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2148
   echo "}')" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
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
   echo -n "awk -F ' ' '{print " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2150
   echo -n "awk -F ' ' '{print " >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2151
   echo -n '$3' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2151
   echo -n '$3' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2152
   echo "}')" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2152
   echo "}')" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2154
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2154
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2155
 
2155
 
2156
   echo '    echo "$NOW Starting backup to $REMOTE_SERVER" >> /var/log/backup_to_friends.log' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
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
   echo '$SERVER_DIRECTORY/backup $REMOTE_SERVER' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2159
   echo '$SERVER_DIRECTORY/backup $REMOTE_SERVER' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2159
   echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2160
   echo '    if [ ! "$?" = "0" ]; then' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2160
   echo '      echo "$NOW Backup to $REMOTE_SERVER failed" >> /var/log/backup_to_friends.log' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2161
   echo '      echo "$NOW Backup to $REMOTE_SERVER failed" >> /var/log/backup_to_friends.log' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2171
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2172
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2172
   echo "done < $FRIENDS_SERVERS_LIST" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2173
   echo "done < $FRIENDS_SERVERS_LIST" >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2173
   echo '' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
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
   echo 'exit 0' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2175
   echo 'exit 0' >> /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2178
   chown root:root /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2176
   chown root:root /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2179
   chmod 400 /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2177
   chmod 400 /usr/bin/$BACKUP_TO_FRIENDS_SCRIPT_NAME
2192
       return
2190
       return
2193
   fi
2191
   fi
2194
 
2192
 
2195
-  apt-get -y --force-yes install rsyncrypto
2193
+  apt-get -y --force-yes install rsyncrypto sshpass
2196
 
2194
 
2197
   get_mariadb_password
2195
   get_mariadb_password
2198
   get_mariadb_gnusocial_admin_password
2196
   get_mariadb_gnusocial_admin_password