|
@@ -8318,50 +8318,57 @@ quit" > $INSTALL_DIR/batch.sql
|
8318
|
8318
|
# Ensure that the database gets backed up locally, if remote
|
8319
|
8319
|
# backups are not being used
|
8320
|
8320
|
backup_databases_script_header
|
8321
|
|
- echo '' >> /usr/bin/backupdatabases
|
8322
|
|
- echo $'# Backup the GNU Social database' >> /usr/bin/backupdatabases
|
8323
|
|
- echo 'TEMPFILE=/root/gnusocial.sql' >> /usr/bin/backupdatabases
|
8324
|
|
- echo 'DAILYFILE=/var/backups/gnusocial_daily.sql' >> /usr/bin/backupdatabases
|
8325
|
|
- echo 'mysqldump --password="$MYSQL_PASSWORD" gnusocial > $TEMPFILE' >> /usr/bin/backupdatabases
|
8326
|
|
- echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> /usr/bin/backupdatabases
|
8327
|
|
- echo 'if [ "$FILESIZE" -eq "0" ]; then' >> /usr/bin/backupdatabases
|
8328
|
|
- echo ' if [ -f $DAILYFILE ]; then' >> /usr/bin/backupdatabases
|
8329
|
|
- echo ' cp $DAILYFILE $TEMPFILE' >> /usr/bin/backupdatabases
|
8330
|
|
- echo '' >> /usr/bin/backupdatabases
|
8331
|
|
- echo ' # try to restore yesterdays database' >> /usr/bin/backupdatabases
|
8332
|
|
- echo ' mysql -u root --password="$MYSQL_PASSWORD" gnusocial -o < $DAILYFILE' >> /usr/bin/backupdatabases
|
8333
|
|
- echo '' >> /usr/bin/backupdatabases
|
8334
|
|
- echo ' # Send a warning email' >> /usr/bin/backupdatabases
|
8335
|
|
- echo ' echo "Unable to create a backup of the GNU Social database. Attempted to restore from yesterdays backup" | mail -s "GNU Social backup" $EMAIL' >> /usr/bin/backupdatabases
|
8336
|
|
- echo ' else' >> /usr/bin/backupdatabases
|
8337
|
|
- echo ' # Send a warning email' >> /usr/bin/backupdatabases
|
8338
|
|
- echo ' echo "Unable to create a backup of the GNU Social database." | mail -s "GNU Social backup" $EMAIL' >> /usr/bin/backupdatabases
|
8339
|
|
- echo ' fi' >> /usr/bin/backupdatabases
|
8340
|
|
- echo 'else' >> /usr/bin/backupdatabases
|
8341
|
|
- echo ' chmod 600 $TEMPFILE' >> /usr/bin/backupdatabases
|
8342
|
|
- echo ' mv $TEMPFILE $DAILYFILE' >> /usr/bin/backupdatabases
|
8343
|
|
- echo '' >> /usr/bin/backupdatabases
|
8344
|
|
- echo ' # Make the backup readable only by root' >> /usr/bin/backupdatabases
|
8345
|
|
- echo ' chmod 600 $DAILYFILE' >> /usr/bin/backupdatabases
|
8346
|
|
- echo 'fi' >> /usr/bin/backupdatabases
|
8347
|
8321
|
|
8348
|
|
- echo '' >> /etc/cron.weekly/backupdatabasesweekly
|
8349
|
|
- echo $'# GNU Social' >> /etc/cron.weekly/backupdatabasesweekly
|
8350
|
|
- echo 'if [ -f /var/backups/gnusocial_weekly.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
8351
|
|
- echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_2weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
8352
|
|
- echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
8353
|
|
- echo 'if [ -f /var/backups/gnusocial_daily.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
8354
|
|
- echo ' cp -f /var/backups/gnusocial_daily.sql /var/backups/gnusocial_weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
8355
|
|
- echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8322
|
+ if ! grep -q "GNU Social" /usr/bin/backupdatabases; then
|
|
8323
|
+ echo '' >> /usr/bin/backupdatabases
|
|
8324
|
+ echo $'# Backup the GNU Social database' >> /usr/bin/backupdatabases
|
|
8325
|
+ echo 'TEMPFILE=/root/gnusocial.sql' >> /usr/bin/backupdatabases
|
|
8326
|
+ echo 'DAILYFILE=/var/backups/gnusocial_daily.sql' >> /usr/bin/backupdatabases
|
|
8327
|
+ echo 'mysqldump --password="$MYSQL_PASSWORD" gnusocial > $TEMPFILE' >> /usr/bin/backupdatabases
|
|
8328
|
+ echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> /usr/bin/backupdatabases
|
|
8329
|
+ echo 'if [ "$FILESIZE" -eq "0" ]; then' >> /usr/bin/backupdatabases
|
|
8330
|
+ echo ' if [ -f $DAILYFILE ]; then' >> /usr/bin/backupdatabases
|
|
8331
|
+ echo ' cp $DAILYFILE $TEMPFILE' >> /usr/bin/backupdatabases
|
|
8332
|
+ echo '' >> /usr/bin/backupdatabases
|
|
8333
|
+ echo ' # try to restore yesterdays database' >> /usr/bin/backupdatabases
|
|
8334
|
+ echo ' mysql -u root --password="$MYSQL_PASSWORD" gnusocial -o < $DAILYFILE' >> /usr/bin/backupdatabases
|
|
8335
|
+ echo '' >> /usr/bin/backupdatabases
|
|
8336
|
+ echo ' # Send a warning email' >> /usr/bin/backupdatabases
|
|
8337
|
+ echo ' echo "Unable to create a backup of the GNU Social database. Attempted to restore from yesterdays backup" | mail -s "GNU Social backup" $EMAIL' >> /usr/bin/backupdatabases
|
|
8338
|
+ echo ' else' >> /usr/bin/backupdatabases
|
|
8339
|
+ echo ' # Send a warning email' >> /usr/bin/backupdatabases
|
|
8340
|
+ echo ' echo "Unable to create a backup of the GNU Social database." | mail -s "GNU Social backup" $EMAIL' >> /usr/bin/backupdatabases
|
|
8341
|
+ echo ' fi' >> /usr/bin/backupdatabases
|
|
8342
|
+ echo 'else' >> /usr/bin/backupdatabases
|
|
8343
|
+ echo ' chmod 600 $TEMPFILE' >> /usr/bin/backupdatabases
|
|
8344
|
+ echo ' mv $TEMPFILE $DAILYFILE' >> /usr/bin/backupdatabases
|
|
8345
|
+ echo '' >> /usr/bin/backupdatabases
|
|
8346
|
+ echo ' # Make the backup readable only by root' >> /usr/bin/backupdatabases
|
|
8347
|
+ echo ' chmod 600 $DAILYFILE' >> /usr/bin/backupdatabases
|
|
8348
|
+ echo 'fi' >> /usr/bin/backupdatabases
|
|
8349
|
+ fi
|
8356
|
8350
|
|
8357
|
|
- echo '' >> /etc/cron.monthly/backupdatabasesmonthly
|
8358
|
|
- echo $'# GNU Social' >> /etc/cron.monthly/backupdatabasesmonthly
|
8359
|
|
- echo 'if [ -f /var/backups/gnusocial_monthly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
8360
|
|
- echo ' cp -f /var/backups/gnusocial_monthly.sql /var/backups/gnusocial_2monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
8361
|
|
- echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
8362
|
|
- echo 'if [ -f /var/backups/gnusocial_weekly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
8363
|
|
- echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
8364
|
|
- echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8351
|
+ if ! grep -q "GNU Social" /etc/cron.weekly/backupdatabasesweekly; then
|
|
8352
|
+ echo '' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8353
|
+ echo $'# GNU Social' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8354
|
+ echo 'if [ -f /var/backups/gnusocial_weekly.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8355
|
+ echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_2weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8356
|
+ echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8357
|
+ echo 'if [ -f /var/backups/gnusocial_daily.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8358
|
+ echo ' cp -f /var/backups/gnusocial_daily.sql /var/backups/gnusocial_weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8359
|
+ echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
|
8360
|
+ fi
|
|
8361
|
+
|
|
8362
|
+ if ! grep -q "GNU Social" /etc/cron.monthly/backupdatabasesmonthly; then
|
|
8363
|
+ echo '' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8364
|
+ echo $'# GNU Social' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8365
|
+ echo 'if [ -f /var/backups/gnusocial_monthly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8366
|
+ echo ' cp -f /var/backups/gnusocial_monthly.sql /var/backups/gnusocial_2monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8367
|
+ echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8368
|
+ echo 'if [ -f /var/backups/gnusocial_weekly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8369
|
+ echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8370
|
+ echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
8371
|
+ fi
|
8365
|
8372
|
|
8366
|
8373
|
if ! grep -q "gnusocial" /etc/cron.hourly/repair; then
|
8367
|
8374
|
echo "${PROJECT_NAME}-repair-database gnusocial" >> /etc/cron.hourly/repair
|