|
@@ -158,6 +158,7 @@ REDMATRIX_ADMIN_PASSWORD=
|
158
|
158
|
# Domain name and freedns subdomain for Owncloud installation
|
159
|
159
|
OWNCLOUD_DOMAIN_NAME=
|
160
|
160
|
OWNCLOUD_FREEDNS_SUBDOMAIN_CODE=
|
|
161
|
+OWNCLOUD_ADMIN_PASSWORD=
|
161
|
162
|
|
162
|
163
|
# Domain name and freedns subdomain for your wiki
|
163
|
164
|
WIKI_DOMAIN_NAME=
|
|
@@ -2895,6 +2896,167 @@ function configure_php {
|
2895
|
2896
|
sed -i "s/post_max_size = 8M/post_max_size = 50M/g" /etc/php5/fpm/php.ini
|
2896
|
2897
|
}
|
2897
|
2898
|
|
|
2899
|
+function get_mariadb_password {
|
|
2900
|
+ if [ -f /home/$MY_USERNAME/README ]; then
|
|
2901
|
+ if grep -q "MariaDB password" /home/$MY_USERNAME/README; then
|
|
2902
|
+ MARIADB_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
|
2903
|
+ fi
|
|
2904
|
+ fi
|
|
2905
|
+}
|
|
2906
|
+
|
|
2907
|
+function get_mariadb_gnusocial_admin_password {
|
|
2908
|
+ if [ -f /home/$MY_USERNAME/README ]; then
|
|
2909
|
+ if grep -q "MariaDB gnusocial admin password" /home/$MY_USERNAME/README; then
|
|
2910
|
+ MICROBLOG_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB gnusocial admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
|
2911
|
+ fi
|
|
2912
|
+ fi
|
|
2913
|
+}
|
|
2914
|
+
|
|
2915
|
+function get_mariadb_redmatrix_admin_password {
|
|
2916
|
+ if [ -f /home/$MY_USERNAME/README ]; then
|
|
2917
|
+ if grep -q "MariaDB Red Matrix admin password" /home/$MY_USERNAME/README; then
|
|
2918
|
+ REDMATRIX_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB Red Matrix admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
|
2919
|
+ fi
|
|
2920
|
+ fi
|
|
2921
|
+}
|
|
2922
|
+
|
|
2923
|
+function get_mariadb_owncloud_admin_password {
|
|
2924
|
+ if [ -f /home/$MY_USERNAME/README ]; then
|
|
2925
|
+ if grep -q "MariaDB Owncloud admin password" /home/$MY_USERNAME/README; then
|
|
2926
|
+ OWNCLOUD_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB Owncloud admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
|
2927
|
+ fi
|
|
2928
|
+ fi
|
|
2929
|
+}
|
|
2930
|
+
|
|
2931
|
+function install_mariadb {
|
|
2932
|
+ if grep -Fxq "install_mariadb" $COMPLETION_FILE; then
|
|
2933
|
+ return
|
|
2934
|
+ fi
|
|
2935
|
+ apt-get -y --force-yes install python-software-properties debconf-utils
|
|
2936
|
+ apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
|
|
2937
|
+ add-apt-repository 'deb http://mariadb.biz.net.id//repo/10.1/debian sid main'
|
|
2938
|
+ apt-get -y --force-yes install software-properties-common
|
|
2939
|
+ apt-get -y update
|
|
2940
|
+
|
|
2941
|
+ get_mariadb_password
|
|
2942
|
+ if [ ! $MARIADB_PASSWORD ]; then
|
|
2943
|
+ MARIADB_PASSWORD=$(openssl rand -base64 32)
|
|
2944
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
2945
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
2946
|
+ echo 'MariaDB / MySql' >> /home/$MY_USERNAME/README
|
|
2947
|
+ echo '===============' >> /home/$MY_USERNAME/README
|
|
2948
|
+ echo "Your MariaDB password is: $MARIADB_PASSWORD" >> /home/$MY_USERNAME/README
|
|
2949
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
2950
|
+ chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
|
2951
|
+ fi
|
|
2952
|
+
|
|
2953
|
+ debconf-set-selections <<< "mariadb-server mariadb-server/root_password password $MARIADB_PASSWORD"
|
|
2954
|
+ debconf-set-selections <<< "mariadb-server mariadb-server/root_password_again password $MARIADB_PASSWORD"
|
|
2955
|
+ apt-get -y --force-yes install mariadb-server
|
|
2956
|
+
|
|
2957
|
+ if [ ! -d /etc/mysql ]; then
|
|
2958
|
+ echo "ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE"
|
|
2959
|
+ exit 54
|
|
2960
|
+ fi
|
|
2961
|
+
|
|
2962
|
+ mysqladmin -u root password "$MARIADB_PASSWORD"
|
|
2963
|
+ echo 'install_mariadb' >> $COMPLETION_FILE
|
|
2964
|
+}
|
|
2965
|
+
|
|
2966
|
+function backup_databases_script_header {
|
|
2967
|
+ if [ ! -f /usr/bin/backupdatabases ]; then
|
|
2968
|
+ # daily
|
|
2969
|
+ echo '#!/bin/sh' > /usr/bin/backupdatabases
|
|
2970
|
+ echo '' >> /usr/bin/backupdatabases
|
|
2971
|
+ echo "EMAIL='$MY_EMAIL_ADDRESS'" >> /usr/bin/backupdatabases
|
|
2972
|
+ echo '' >> /usr/bin/backupdatabases
|
|
2973
|
+ echo "MYSQL_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/backupdatabases
|
|
2974
|
+ echo 'umask 0077' >> /usr/bin/backupdatabases
|
|
2975
|
+ echo '' >> /usr/bin/backupdatabases
|
|
2976
|
+ echo '# exit if we are backing up to friends servers' >> /usr/bin/backupdatabases
|
|
2977
|
+ echo "if [ -f $FRIENDS_SERVER_LIST ]; then" >> /usr/bin/backupdatabases
|
|
2978
|
+ echo ' exit 1' >> /usr/bin/backupdatabases
|
|
2979
|
+ echo 'fi' >> /usr/bin/backupdatabases
|
|
2980
|
+ chmod 600 /usr/bin/backupdatabases
|
|
2981
|
+ chmod +x /usr/bin/backupdatabases
|
|
2982
|
+
|
|
2983
|
+ echo '#!/bin/sh' > /etc/cron.daily/backupdatabasesdaily
|
|
2984
|
+ echo '/usr/bin/backupdatabases' >> /etc/cron.daily/backupdatabasesdaily
|
|
2985
|
+ chmod 600 /etc/cron.daily/backupdatabasesdaily
|
|
2986
|
+ chmod +x /etc/cron.daily/backupdatabasesdaily
|
|
2987
|
+
|
|
2988
|
+ # weekly
|
|
2989
|
+ echo '#!/bin/sh' > /etc/cron.weekly/backupdatabasesweekly
|
|
2990
|
+ echo '' >> /etc/cron.weekly/backupdatabasesweekly
|
|
2991
|
+ echo 'umask 0077' >> /etc/cron.weekly/backupdatabasesweekly
|
|
2992
|
+
|
|
2993
|
+ chmod 600 /etc/cron.weekly/backupdatabasesweekly
|
|
2994
|
+ chmod +x /etc/cron.weekly/backupdatabasesweekly
|
|
2995
|
+
|
|
2996
|
+ # monthly
|
|
2997
|
+ echo '#!/bin/sh' > /etc/cron.monthly/backupdatabasesmonthly
|
|
2998
|
+ echo '' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
2999
|
+ echo 'umask 0077' >> /etc/cron.monthly/backupdatabasesmonthly
|
|
3000
|
+
|
|
3001
|
+ chmod 600 /etc/cron.monthly/backupdatabasesmonthly
|
|
3002
|
+ chmod +x /etc/cron.monthly/backupdatabasesmonthly
|
|
3003
|
+ fi
|
|
3004
|
+}
|
|
3005
|
+
|
|
3006
|
+function repair_databases_script {
|
|
3007
|
+ if grep -Fxq "repair_databases_script" $COMPLETION_FILE; then
|
|
3008
|
+ return
|
|
3009
|
+ fi
|
|
3010
|
+ echo '#!/bin/bash' > /usr/bin/repairdatabase
|
|
3011
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3012
|
+ echo 'DATABASE=$1' >> /usr/bin/repairdatabase
|
|
3013
|
+ echo "EMAIL=$MY_EMAIL_ADDRESS" >> /usr/bin/repairdatabase
|
|
3014
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3015
|
+ echo "MYSQL_ROOT_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/repairdatabase
|
|
3016
|
+ echo 'TEMPFILE=/root/repairdatabase_$DATABASE' >> /usr/bin/repairdatabase
|
|
3017
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3018
|
+ echo 'umask 0077' >> /usr/bin/repairdatabase
|
|
3019
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3020
|
+ echo '# check the database' >> /usr/bin/repairdatabase
|
|
3021
|
+ echo 'mysqlcheck -c -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE > $TEMPFILE' >> /usr/bin/repairdatabase
|
|
3022
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3023
|
+ echo '# Attempt to repair the database if it contains errors' >> /usr/bin/repairdatabase
|
|
3024
|
+ echo 'if grep -q "Error" "$TEMPFILE"; then' >> /usr/bin/repairdatabase
|
|
3025
|
+ echo ' mysqlcheck -u root --password=$MYSQL_ROOT_PASSWORD --auto-repair $DATABASE' >> /usr/bin/repairdatabase
|
|
3026
|
+ echo 'else' >> /usr/bin/repairdatabase
|
|
3027
|
+ echo ' # No errors were found, so exit' >> /usr/bin/repairdatabase
|
|
3028
|
+ echo ' rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
|
3029
|
+ echo ' exit 0' >> /usr/bin/repairdatabase
|
|
3030
|
+ echo 'fi' >> /usr/bin/repairdatabase
|
|
3031
|
+ echo 'rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
|
3032
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3033
|
+ echo '# Check the database again' >> /usr/bin/repairdatabase
|
|
3034
|
+ echo 'mysqlcheck -c -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE > $TEMPFILE' >> /usr/bin/repairdatabase
|
|
3035
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3036
|
+ echo '# If it still contains errors then restore from backup' >> /usr/bin/repairdatabase
|
|
3037
|
+ echo 'if grep -q "Error" "$TEMPFILE"; then' >> /usr/bin/repairdatabase
|
|
3038
|
+ echo ' mysql -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE -o < /var/backups/${DATABASE}_daily.sql' >> /usr/bin/repairdatabase
|
|
3039
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3040
|
+ echo ' # Send a warning email' >> /usr/bin/repairdatabase
|
|
3041
|
+ echo ' echo "$DATABASE database corruption could not be repaired. Restored from backup." | mail -s "Freedombone database maintenance" $EMAIL' >> /usr/bin/repairdatabase
|
|
3042
|
+ echo ' rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
|
3043
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3044
|
+ echo ' exit 1' >> /usr/bin/repairdatabase
|
|
3045
|
+ echo 'fi' >> /usr/bin/repairdatabase
|
|
3046
|
+ echo 'rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
|
3047
|
+ echo '' >> /usr/bin/repairdatabase
|
|
3048
|
+ echo 'exit 0' >> /usr/bin/repairdatabase
|
|
3049
|
+ chmod 600 /usr/bin/repairdatabase
|
|
3050
|
+ chmod +x /usr/bin/repairdatabase
|
|
3051
|
+
|
|
3052
|
+ echo '#!/bin/bash' > /etc/cron.hourly/repair
|
|
3053
|
+ echo '' >> /etc/cron.hourly/repair
|
|
3054
|
+ chmod 600 /etc/cron.hourly/repair
|
|
3055
|
+ chmod +x /etc/cron.hourly/repair
|
|
3056
|
+
|
|
3057
|
+ echo 'repair_databases_script' >> $COMPLETION_FILE
|
|
3058
|
+}
|
|
3059
|
+
|
2898
|
3060
|
function install_owncloud {
|
2899
|
3061
|
if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" ]]; then
|
2900
|
3062
|
return
|
|
@@ -2933,6 +3095,28 @@ function install_owncloud {
|
2933
|
3095
|
fi
|
2934
|
3096
|
fi
|
2935
|
3097
|
apt-get -y --force-yes install owncloud
|
|
3098
|
+ install_mariadb
|
|
3099
|
+ get_mariadb_password
|
|
3100
|
+
|
|
3101
|
+ get_mariadb_owncloud_admin_password
|
|
3102
|
+ if [ ! $OWNCLOUD_ADMIN_PASSWORD ]; then
|
|
3103
|
+ OWNCLOUD_ADMIN_PASSWORD=$(openssl rand -base64 32)
|
|
3104
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
3105
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
3106
|
+ echo 'Owncloud' >> /home/$MY_USERNAME/README
|
|
3107
|
+ echo '========' >> /home/$MY_USERNAME/README
|
|
3108
|
+ echo "Your MariaDB Owncloud admin password is: $OWNCLOUD_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
|
|
3109
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
3110
|
+ chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
|
3111
|
+ fi
|
|
3112
|
+
|
|
3113
|
+ echo "create database owncloud;
|
|
3114
|
+CREATE USER 'owncloudadmin'@'localhost' IDENTIFIED BY '$OWNCLOUD_ADMIN_PASSWORD';
|
|
3115
|
+GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloudadmin'@'localhost';
|
|
3116
|
+quit" > $INSTALL_DIR/batch.sql
|
|
3117
|
+ chmod 600 $INSTALL_DIR/batch.sql
|
|
3118
|
+ mysql -u root --password="$MARIADB_PASSWORD" < $INSTALL_DIR/batch.sql
|
|
3119
|
+ shred -zu $INSTALL_DIR/batch.sql
|
2936
|
3120
|
|
2937
|
3121
|
if [ ! -d /var/www/$OWNCLOUD_DOMAIN_NAME ]; then
|
2938
|
3122
|
mkdir /var/www/$OWNCLOUD_DOMAIN_NAME
|
|
@@ -3561,159 +3745,6 @@ function install_blog {
|
3561
|
3745
|
echo 'install_blog' >> $COMPLETION_FILE
|
3562
|
3746
|
}
|
3563
|
3747
|
|
3564
|
|
-function get_mariadb_password {
|
3565
|
|
- if [ -f /home/$MY_USERNAME/README ]; then
|
3566
|
|
- if grep -q "MariaDB password" /home/$MY_USERNAME/README; then
|
3567
|
|
- MARIADB_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
3568
|
|
- fi
|
3569
|
|
- fi
|
3570
|
|
-}
|
3571
|
|
-
|
3572
|
|
-function get_mariadb_gnusocial_admin_password {
|
3573
|
|
- if [ -f /home/$MY_USERNAME/README ]; then
|
3574
|
|
- if grep -q "MariaDB gnusocial admin password" /home/$MY_USERNAME/README; then
|
3575
|
|
- MICROBLOG_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB gnusocial admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
3576
|
|
- fi
|
3577
|
|
- fi
|
3578
|
|
-}
|
3579
|
|
-
|
3580
|
|
-function get_mariadb_redmatrix_admin_password {
|
3581
|
|
- if [ -f /home/$MY_USERNAME/README ]; then
|
3582
|
|
- if grep -q "MariaDB Red Matrix admin password" /home/$MY_USERNAME/README; then
|
3583
|
|
- REDMATRIX_ADMIN_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "MariaDB Red Matrix admin password" | awk -F ':' '{print $2}' | sed 's/^ *//')
|
3584
|
|
- fi
|
3585
|
|
- fi
|
3586
|
|
-}
|
3587
|
|
-
|
3588
|
|
-function install_mariadb {
|
3589
|
|
- if grep -Fxq "install_mariadb" $COMPLETION_FILE; then
|
3590
|
|
- return
|
3591
|
|
- fi
|
3592
|
|
- apt-get -y --force-yes install python-software-properties debconf-utils
|
3593
|
|
- apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
|
3594
|
|
- add-apt-repository 'deb http://mariadb.biz.net.id//repo/10.1/debian sid main'
|
3595
|
|
- apt-get -y --force-yes install software-properties-common
|
3596
|
|
- apt-get -y update
|
3597
|
|
-
|
3598
|
|
- get_mariadb_password
|
3599
|
|
- if [ ! $MARIADB_PASSWORD ]; then
|
3600
|
|
- MARIADB_PASSWORD=$(openssl rand -base64 32)
|
3601
|
|
- echo '' >> /home/$MY_USERNAME/README
|
3602
|
|
- echo '' >> /home/$MY_USERNAME/README
|
3603
|
|
- echo 'MariaDB / MySql' >> /home/$MY_USERNAME/README
|
3604
|
|
- echo '===============' >> /home/$MY_USERNAME/README
|
3605
|
|
- echo "Your MariaDB password is: $MARIADB_PASSWORD" >> /home/$MY_USERNAME/README
|
3606
|
|
- echo '' >> /home/$MY_USERNAME/README
|
3607
|
|
- chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
3608
|
|
- fi
|
3609
|
|
-
|
3610
|
|
- debconf-set-selections <<< "mariadb-server mariadb-server/root_password password $MARIADB_PASSWORD"
|
3611
|
|
- debconf-set-selections <<< "mariadb-server mariadb-server/root_password_again password $MARIADB_PASSWORD"
|
3612
|
|
- apt-get -y --force-yes install mariadb-server
|
3613
|
|
-
|
3614
|
|
- if [ ! -d /etc/mysql ]; then
|
3615
|
|
- echo "ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE"
|
3616
|
|
- exit 54
|
3617
|
|
- fi
|
3618
|
|
-
|
3619
|
|
- mysqladmin -u root password "$MARIADB_PASSWORD"
|
3620
|
|
- echo 'install_mariadb' >> $COMPLETION_FILE
|
3621
|
|
-}
|
3622
|
|
-
|
3623
|
|
-function backup_databases_script_header {
|
3624
|
|
- if [ ! -f /usr/bin/backupdatabases ]; then
|
3625
|
|
- # daily
|
3626
|
|
- echo '#!/bin/sh' > /usr/bin/backupdatabases
|
3627
|
|
- echo '' >> /usr/bin/backupdatabases
|
3628
|
|
- echo "EMAIL='$MY_EMAIL_ADDRESS'" >> /usr/bin/backupdatabases
|
3629
|
|
- echo '' >> /usr/bin/backupdatabases
|
3630
|
|
- echo "MYSQL_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/backupdatabases
|
3631
|
|
- echo 'umask 0077' >> /usr/bin/backupdatabases
|
3632
|
|
- echo '' >> /usr/bin/backupdatabases
|
3633
|
|
- echo '# exit if we are backing up to friends servers' >> /usr/bin/backupdatabases
|
3634
|
|
- echo "if [ -f $FRIENDS_SERVER_LIST ]; then" >> /usr/bin/backupdatabases
|
3635
|
|
- echo ' exit 1' >> /usr/bin/backupdatabases
|
3636
|
|
- echo 'fi' >> /usr/bin/backupdatabases
|
3637
|
|
- chmod 600 /usr/bin/backupdatabases
|
3638
|
|
- chmod +x /usr/bin/backupdatabases
|
3639
|
|
-
|
3640
|
|
- echo '#!/bin/sh' > /etc/cron.daily/backupdatabasesdaily
|
3641
|
|
- echo '/usr/bin/backupdatabases' >> /etc/cron.daily/backupdatabasesdaily
|
3642
|
|
- chmod 600 /etc/cron.daily/backupdatabasesdaily
|
3643
|
|
- chmod +x /etc/cron.daily/backupdatabasesdaily
|
3644
|
|
-
|
3645
|
|
- # weekly
|
3646
|
|
- echo '#!/bin/sh' > /etc/cron.weekly/backupdatabasesweekly
|
3647
|
|
- echo '' >> /etc/cron.weekly/backupdatabasesweekly
|
3648
|
|
- echo 'umask 0077' >> /etc/cron.weekly/backupdatabasesweekly
|
3649
|
|
-
|
3650
|
|
- chmod 600 /etc/cron.weekly/backupdatabasesweekly
|
3651
|
|
- chmod +x /etc/cron.weekly/backupdatabasesweekly
|
3652
|
|
-
|
3653
|
|
- # monthly
|
3654
|
|
- echo '#!/bin/sh' > /etc/cron.monthly/backupdatabasesmonthly
|
3655
|
|
- echo '' >> /etc/cron.monthly/backupdatabasesmonthly
|
3656
|
|
- echo 'umask 0077' >> /etc/cron.monthly/backupdatabasesmonthly
|
3657
|
|
-
|
3658
|
|
- chmod 600 /etc/cron.monthly/backupdatabasesmonthly
|
3659
|
|
- chmod +x /etc/cron.monthly/backupdatabasesmonthly
|
3660
|
|
- fi
|
3661
|
|
-}
|
3662
|
|
-
|
3663
|
|
-function repair_databases_script {
|
3664
|
|
- if grep -Fxq "repair_databases_script" $COMPLETION_FILE; then
|
3665
|
|
- return
|
3666
|
|
- fi
|
3667
|
|
- echo '#!/bin/bash' > /usr/bin/repairdatabase
|
3668
|
|
- echo '' >> /usr/bin/repairdatabase
|
3669
|
|
- echo 'DATABASE=$1' >> /usr/bin/repairdatabase
|
3670
|
|
- echo "EMAIL=$MY_EMAIL_ADDRESS" >> /usr/bin/repairdatabase
|
3671
|
|
- echo '' >> /usr/bin/repairdatabase
|
3672
|
|
- echo "MYSQL_ROOT_PASSWORD='$MARIADB_PASSWORD'" >> /usr/bin/repairdatabase
|
3673
|
|
- echo 'TEMPFILE=/root/repairdatabase_$DATABASE' >> /usr/bin/repairdatabase
|
3674
|
|
- echo '' >> /usr/bin/repairdatabase
|
3675
|
|
- echo 'umask 0077' >> /usr/bin/repairdatabase
|
3676
|
|
- echo '' >> /usr/bin/repairdatabase
|
3677
|
|
- echo '# check the database' >> /usr/bin/repairdatabase
|
3678
|
|
- echo 'mysqlcheck -c -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE > $TEMPFILE' >> /usr/bin/repairdatabase
|
3679
|
|
- echo '' >> /usr/bin/repairdatabase
|
3680
|
|
- echo '# Attempt to repair the database if it contains errors' >> /usr/bin/repairdatabase
|
3681
|
|
- echo 'if grep -q "Error" "$TEMPFILE"; then' >> /usr/bin/repairdatabase
|
3682
|
|
- echo ' mysqlcheck -u root --password=$MYSQL_ROOT_PASSWORD --auto-repair $DATABASE' >> /usr/bin/repairdatabase
|
3683
|
|
- echo 'else' >> /usr/bin/repairdatabase
|
3684
|
|
- echo ' # No errors were found, so exit' >> /usr/bin/repairdatabase
|
3685
|
|
- echo ' rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
3686
|
|
- echo ' exit 0' >> /usr/bin/repairdatabase
|
3687
|
|
- echo 'fi' >> /usr/bin/repairdatabase
|
3688
|
|
- echo 'rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
3689
|
|
- echo '' >> /usr/bin/repairdatabase
|
3690
|
|
- echo '# Check the database again' >> /usr/bin/repairdatabase
|
3691
|
|
- echo 'mysqlcheck -c -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE > $TEMPFILE' >> /usr/bin/repairdatabase
|
3692
|
|
- echo '' >> /usr/bin/repairdatabase
|
3693
|
|
- echo '# If it still contains errors then restore from backup' >> /usr/bin/repairdatabase
|
3694
|
|
- echo 'if grep -q "Error" "$TEMPFILE"; then' >> /usr/bin/repairdatabase
|
3695
|
|
- echo ' mysql -u root --password=$MYSQL_ROOT_PASSWORD $DATABASE -o < /var/backups/${DATABASE}_daily.sql' >> /usr/bin/repairdatabase
|
3696
|
|
- echo '' >> /usr/bin/repairdatabase
|
3697
|
|
- echo ' # Send a warning email' >> /usr/bin/repairdatabase
|
3698
|
|
- echo ' echo "$DATABASE database corruption could not be repaired. Restored from backup." | mail -s "Freedombone database maintenance" $EMAIL' >> /usr/bin/repairdatabase
|
3699
|
|
- echo ' rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
3700
|
|
- echo '' >> /usr/bin/repairdatabase
|
3701
|
|
- echo ' exit 1' >> /usr/bin/repairdatabase
|
3702
|
|
- echo 'fi' >> /usr/bin/repairdatabase
|
3703
|
|
- echo 'rm -f $TEMPFILE' >> /usr/bin/repairdatabase
|
3704
|
|
- echo '' >> /usr/bin/repairdatabase
|
3705
|
|
- echo 'exit 0' >> /usr/bin/repairdatabase
|
3706
|
|
- chmod 600 /usr/bin/repairdatabase
|
3707
|
|
- chmod +x /usr/bin/repairdatabase
|
3708
|
|
-
|
3709
|
|
- echo '#!/bin/bash' > /etc/cron.hourly/repair
|
3710
|
|
- echo '' >> /etc/cron.hourly/repair
|
3711
|
|
- chmod 600 /etc/cron.hourly/repair
|
3712
|
|
- chmod +x /etc/cron.hourly/repair
|
3713
|
|
-
|
3714
|
|
- echo 'repair_databases_script' >> $COMPLETION_FILE
|
3715
|
|
-}
|
3716
|
|
-
|
3717
|
3748
|
function install_gnu_social {
|
3718
|
3749
|
if grep -Fxq "install_gnu_social" $COMPLETION_FILE; then
|
3719
|
3750
|
return
|