|
@@ -1843,11 +1843,14 @@ function check_certificates {
|
1843
|
1843
|
fi
|
1844
|
1844
|
}
|
1845
|
1845
|
|
1846
|
|
-function backup_database_local_daily {
|
|
1846
|
+function backup_database_local {
|
|
1847
|
+ # Makes local backups of databases which can then be automatically rolled
|
|
1848
|
+ # back if corruption is detected
|
1847
|
1849
|
database_name=$1
|
|
1850
|
+
|
1848
|
1851
|
backup_databases_script=/usr/bin/backupdatabases
|
1849
|
1852
|
echo '' >> $backup_databases_script
|
1850
|
|
- echo $"# Backup the ${database_name} database" >> $backup_databases_script
|
|
1853
|
+ echo "# Backup the ${database_name} database" >> $backup_databases_script
|
1851
|
1854
|
echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
|
1852
|
1855
|
echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
|
1853
|
1856
|
echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
|
|
@@ -1872,6 +1875,36 @@ function backup_database_local_daily {
|
1872
|
1875
|
echo ' # Make the backup readable only by root' >> $backup_databases_script
|
1873
|
1876
|
echo ' chmod 600 $DAILYFILE' >> $backup_databases_script
|
1874
|
1877
|
echo 'fi' >> $backup_databases_script
|
|
1878
|
+
|
|
1879
|
+ weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
|
|
1880
|
+ if ! grep -q "${database_name}" ${weekly_backup_script}; then
|
|
1881
|
+ echo '' >> ${weekly_backup_script}
|
|
1882
|
+ echo "# ${database_name}" >> ${weekly_backup_script}
|
|
1883
|
+ echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${weekly_backup_script}
|
|
1884
|
+ echo " cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_2weekly.sql" >> ${weekly_backup_script}
|
|
1885
|
+ echo 'fi' >> ${weekly_backup_script}
|
|
1886
|
+ echo "if [ -f /var/backups/${database_name}_daily.sql ]; then" >> ${weekly_backup_script}
|
|
1887
|
+ echo " cp -f /var/backups/${database_name}_daily.sql /var/backups/${database_name}_weekly.sql" >> ${weekly_backup_script}
|
|
1888
|
+ echo 'fi' >> ${weekly_backup_script}
|
|
1889
|
+ fi
|
|
1890
|
+
|
|
1891
|
+ monthly_backup_script=/etc/cron.monthly/backupdatabasesmonthly
|
|
1892
|
+ if ! grep -q "${database_name}" ${monthly_backup_script}; then
|
|
1893
|
+ echo '' >> ${monthly_backup_script}
|
|
1894
|
+ echo "# ${database_name}" >> ${monthly_backup_script}
|
|
1895
|
+ echo "if [ -f /var/backups/${database_name}_monthly.sql ]; then" >> ${monthly_backup_script}
|
|
1896
|
+ echo " cp -f /var/backups/${database_name}_monthly.sql /var/backups/${database_name}_2monthly.sql" >> ${monthly_backup_script}
|
|
1897
|
+ echo 'fi' >> ${monthly_backup_script}
|
|
1898
|
+ echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${monthly_backup_script}
|
|
1899
|
+ echo " cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_monthly.sql" >> ${monthly_backup_script}
|
|
1900
|
+ echo 'fi' >> ${monthly_backup_script}
|
|
1901
|
+ fi
|
|
1902
|
+
|
|
1903
|
+ if ! grep -q "${database_name}" /etc/cron.hourly/repair; then
|
|
1904
|
+ echo "${PROJECT_NAME}-repair-database ${database_name}" >> /etc/cron.hourly/repair
|
|
1905
|
+ # remove legacy stuff
|
|
1906
|
+ sed -i 's|/usr/bin/repairdatabase redmatrix||g' /etc/cron.hourly/repair
|
|
1907
|
+ fi
|
1875
|
1908
|
}
|
1876
|
1909
|
|
1877
|
1910
|
function install_not_on_BBB {
|
|
@@ -6608,7 +6641,7 @@ function install_owncloud {
|
6608
|
6641
|
# backups are not being used
|
6609
|
6642
|
backup_databases_script_header
|
6610
|
6643
|
|
6611
|
|
- backup_database_local_daily owncloud
|
|
6644
|
+ backup_database_local owncloud
|
6612
|
6645
|
|
6613
|
6646
|
nginx_ensite $OWNCLOUD_DOMAIN_NAME
|
6614
|
6647
|
|
|
@@ -8744,35 +8777,8 @@ function install_gnu_social {
|
8744
|
8777
|
# backups are not being used
|
8745
|
8778
|
backup_databases_script_header
|
8746
|
8779
|
|
8747
|
|
- if ! grep -q "gnusocial" /usr/bin/backupdatabases; then
|
8748
|
|
- backup_database_local_daily gnusocial
|
8749
|
|
- fi
|
8750
|
|
-
|
8751
|
|
- if ! grep -q "GNU Social" /etc/cron.weekly/backupdatabasesweekly; then
|
8752
|
|
- echo '' >> /etc/cron.weekly/backupdatabasesweekly
|
8753
|
|
- echo $'# GNU Social' >> /etc/cron.weekly/backupdatabasesweekly
|
8754
|
|
- echo 'if [ -f /var/backups/gnusocial_weekly.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
8755
|
|
- echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_2weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
8756
|
|
- echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
8757
|
|
- echo 'if [ -f /var/backups/gnusocial_daily.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
8758
|
|
- echo ' cp -f /var/backups/gnusocial_daily.sql /var/backups/gnusocial_weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
8759
|
|
- echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
8760
|
|
- fi
|
8761
|
|
-
|
8762
|
|
- if ! grep -q "GNU Social" /etc/cron.monthly/backupdatabasesmonthly; then
|
8763
|
|
- echo '' >> /etc/cron.monthly/backupdatabasesmonthly
|
8764
|
|
- echo $'# GNU Social' >> /etc/cron.monthly/backupdatabasesmonthly
|
8765
|
|
- echo 'if [ -f /var/backups/gnusocial_monthly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
8766
|
|
- echo ' cp -f /var/backups/gnusocial_monthly.sql /var/backups/gnusocial_2monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
8767
|
|
- echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
8768
|
|
- echo 'if [ -f /var/backups/gnusocial_weekly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
8769
|
|
- echo ' cp -f /var/backups/gnusocial_weekly.sql /var/backups/gnusocial_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
8770
|
|
- echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
8771
|
|
- fi
|
|
8780
|
+ backup_database_local gnusocial
|
8772
|
8781
|
|
8773
|
|
- if ! grep -q "gnusocial" /etc/cron.hourly/repair; then
|
8774
|
|
- echo "${PROJECT_NAME}-repair-database gnusocial" >> /etc/cron.hourly/repair
|
8775
|
|
- fi
|
8776
|
8782
|
nginx_ensite $MICROBLOG_DOMAIN_NAME
|
8777
|
8783
|
|
8778
|
8784
|
# NOTE: For the typical case always enable SSL and only
|
|
@@ -9333,31 +9339,7 @@ function install_hubzilla {
|
9333
|
9339
|
# backups are not being used
|
9334
|
9340
|
backup_databases_script_header
|
9335
|
9341
|
|
9336
|
|
- backup_database_local_daily hubzilla
|
9337
|
|
-
|
9338
|
|
- echo '' >> /etc/cron.weekly/backupdatabasesweekly
|
9339
|
|
- echo '# Hubzilla' >> /etc/cron.weekly/backupdatabasesweekly
|
9340
|
|
- echo 'if [ -f /var/backups/hubzilla_weekly.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
9341
|
|
- echo ' cp -f /var/backups/hubzilla_weekly.sql /var/backups/hubzilla_2weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
9342
|
|
- echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
9343
|
|
- echo 'if [ -f /var/backups/hubzilla_daily.sql ]; then' >> /etc/cron.weekly/backupdatabasesweekly
|
9344
|
|
- echo ' cp -f /var/backups/hubzilla_daily.sql /var/backups/hubzilla_weekly.sql' >> /etc/cron.weekly/backupdatabasesweekly
|
9345
|
|
- echo 'fi' >> /etc/cron.weekly/backupdatabasesweekly
|
9346
|
|
-
|
9347
|
|
- echo '' >> /etc/cron.monthly/backupdatabasesmonthly
|
9348
|
|
- echo '# Hubzilla' >> /etc/cron.monthly/backupdatabasesmonthly
|
9349
|
|
- echo 'if [ -f /var/backups/hubzilla_monthly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
9350
|
|
- echo ' cp -f /var/backups/hubzilla_monthly.sql /var/backups/hubzilla_2monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
9351
|
|
- echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
9352
|
|
- echo 'if [ -f /var/backups/hubzilla_weekly.sql ]; then' >> /etc/cron.monthly/backupdatabasesmonthly
|
9353
|
|
- echo ' cp -f /var/backups/hubzilla_weekly.sql /var/backups/hubzilla_monthly.sql' >> /etc/cron.monthly/backupdatabasesmonthly
|
9354
|
|
- echo 'fi' >> /etc/cron.monthly/backupdatabasesmonthly
|
9355
|
|
-
|
9356
|
|
- if ! grep -q "hubzilla" /etc/cron.hourly/repair; then
|
9357
|
|
- echo "${PROJECT_NAME}-repair-database hubzilla" >> /etc/cron.hourly/repair
|
9358
|
|
- # remove legacy stuff
|
9359
|
|
- sed -i 's|/usr/bin/repairdatabase redmatrix||g' /etc/cron.hourly/repair
|
9360
|
|
- fi
|
|
9342
|
+ backup_database_local hubzilla
|
9361
|
9343
|
|
9362
|
9344
|
chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs
|
9363
|
9345
|
|