|
@@ -5569,61 +5569,18 @@ function backup_databases_script_header {
|
5569
|
5569
|
}
|
5570
|
5570
|
|
5571
|
5571
|
function repair_databases_script {
|
|
5572
|
+ if [ -f /etc/cron.hourly/repair ]; then
|
|
5573
|
+ sed -i "s|/usr/bin/repairdatabase|${PROJECT_NAME}-repair-database}|g" /etc/cron.hourly/repair
|
|
5574
|
+ fi
|
|
5575
|
+
|
5572
|
5576
|
if grep -Fxq "repair_databases_script" $COMPLETION_FILE; then
|
5573
|
5577
|
return
|
5574
|
5578
|
fi
|
|
5579
|
+
|
5575
|
5580
|
if [ ! -f $DATABASE_PASSWORD_FILE ]; then
|
5576
|
5581
|
return
|
5577
|
5582
|
fi
|
5578
|
5583
|
|
5579
|
|
- echo '#!/bin/bash' > /usr/bin/repairdatabase
|
5580
|
|
- echo '' >> /usr/bin/repairdatabase
|
5581
|
|
- echo 'DATABASE=$1' >> /usr/bin/repairdatabase
|
5582
|
|
- echo "EMAIL=$MY_EMAIL_ADDRESS" >> /usr/bin/repairdatabase
|
5583
|
|
- echo "BACKUP_TYPE='daily'" >> /usr/bin/repairdatabase
|
5584
|
|
- echo '' >> /usr/bin/repairdatabase
|
5585
|
|
- echo 'if [ $2 ]; then' >> /usr/bin/repairdatabase
|
5586
|
|
- echo ' BACKUP_TYPE=$2' >> /usr/bin/repairdatabase
|
5587
|
|
- echo 'fi' >> /usr/bin/repairdatabase
|
5588
|
|
- echo '' >> /usr/bin/repairdatabase
|
5589
|
|
- echo -n 'MYSQL_ROOT_PASSWORD=$(cat ' >> /usr/bin/repairdatabase
|
5590
|
|
- echo "$DATABASE_PASSWORD_FILE)" >> /usr/bin/repairdatabase
|
5591
|
|
- echo 'TEMPFILE=/root/repairdatabase_$DATABASE' >> /usr/bin/repairdatabase
|
5592
|
|
- echo '' >> /usr/bin/repairdatabase
|
5593
|
|
- echo 'umask 0077' >> /usr/bin/repairdatabase
|
5594
|
|
- echo '' >> /usr/bin/repairdatabase
|
5595
|
|
- echo '# check the database' >> /usr/bin/repairdatabase
|
5596
|
|
- echo 'mysqlcheck -c -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE > $TEMPFILE' >> /usr/bin/repairdatabase
|
5597
|
|
- echo '' >> /usr/bin/repairdatabase
|
5598
|
|
- echo '# Attempt to repair the database if it contains errors' >> /usr/bin/repairdatabase
|
5599
|
|
- echo 'if grep -q "Error" "$TEMPFILE"; then' >> /usr/bin/repairdatabase
|
5600
|
|
- echo ' mysqlcheck -u root --password=$MYSQL_ROOT_PASSWORD --auto-repair $DATABASE' >> /usr/bin/repairdatabase
|
5601
|
|
- echo 'else' >> /usr/bin/repairdatabase
|
5602
|
|
- echo ' # No errors were found, so exit' >> /usr/bin/repairdatabase
|
5603
|
|
- echo ' rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
5604
|
|
- echo ' exit 0' >> /usr/bin/repairdatabase
|
5605
|
|
- echo 'fi' >> /usr/bin/repairdatabase
|
5606
|
|
- echo 'rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
5607
|
|
- echo '' >> /usr/bin/repairdatabase
|
5608
|
|
- echo '# Check the database again' >> /usr/bin/repairdatabase
|
5609
|
|
- echo 'mysqlcheck -c -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE > $TEMPFILE' >> /usr/bin/repairdatabase
|
5610
|
|
- echo '' >> /usr/bin/repairdatabase
|
5611
|
|
- echo '# If it still contains errors then restore from backup' >> /usr/bin/repairdatabase
|
5612
|
|
- echo 'if grep -q "Error" "$TEMPFILE"; then' >> /usr/bin/repairdatabase
|
5613
|
|
- echo ' mysql -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE -o < /var/backups/${DATABASE}_${BACKUP_TYPE}.sql' >> /usr/bin/repairdatabase
|
5614
|
|
- echo '' >> /usr/bin/repairdatabase
|
5615
|
|
- echo ' # Send a warning email' >> /usr/bin/repairdatabase
|
5616
|
|
- echo ' echo "$DATABASE database corruption could not be repaired. Restored from backup." | mail -s "Freedombone database maintenance" $EMAIL' >> /usr/bin/repairdatabase
|
5617
|
|
- echo ' rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
5618
|
|
- echo '' >> /usr/bin/repairdatabase
|
5619
|
|
- echo ' exit 1' >> /usr/bin/repairdatabase
|
5620
|
|
- echo 'fi' >> /usr/bin/repairdatabase
|
5621
|
|
- echo 'rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
5622
|
|
- echo '' >> /usr/bin/repairdatabase
|
5623
|
|
- echo 'exit 0' >> /usr/bin/repairdatabase
|
5624
|
|
- chmod 600 /usr/bin/repairdatabase
|
5625
|
|
- chmod +x /usr/bin/repairdatabase
|
5626
|
|
-
|
5627
|
5584
|
echo '#!/bin/bash' > /etc/cron.hourly/repair
|
5628
|
5585
|
echo '' >> /etc/cron.hourly/repair
|
5629
|
5586
|
chmod 600 /etc/cron.hourly/repair
|
|
@@ -7516,7 +7473,7 @@ quit" > $INSTALL_DIR/batch.sql
|
7516
|
7473
|
echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
7517
|
7474
|
echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
7518
|
7475
|
|
7519
|
|
- echo '/usr/bin/repairdatabase gnusocial' >> /etc/cron.hourly/repair
|
|
7476
|
+ echo "${PROJECT_NAME}-repair-database gnusocial" >> /etc/cron.hourly/repair
|
7520
|
7477
|
|
7521
|
7478
|
nginx_ensite $MICROBLOG_DOMAIN_NAME
|
7522
|
7479
|
service php5-fpm restart
|
|
@@ -7838,7 +7795,7 @@ quit" > $INSTALL_DIR/batch.sql
|
7838
|
7795
|
echo ' cp -f /var/backups/hubzilla_weekly.sql /var/backups/hubzilla_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
7839
|
7796
|
echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
7840
|
7797
|
|
7841
|
|
- echo '/usr/bin/repairdatabase hubzilla' >> /etc/cron.hourly/repair
|
|
7798
|
+ echo "${PROJECT_NAME}-repair-database hubzilla" >> /etc/cron.hourly/repair
|
7842
|
7799
|
|
7843
|
7800
|
chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
|
7844
|
7801
|
|