|
@@ -21,7 +21,7 @@
|
|
#Check things (root, 7z, mysql, ...)
|
|
#Check things (root, 7z, mysql, ...)
|
|
startTime=$(date +"%s")
|
|
startTime=$(date +"%s")
|
|
if [ $(id -u) -ne 0 ]; then
|
|
if [ $(id -u) -ne 0 ]; then
|
|
- printf "ERROR:\tTienes que ser root :O\n"
|
|
|
|
|
|
+ printf "ERROR:\tNeed to be root :O\n"
|
|
exit 1
|
|
exit 1
|
|
fi
|
|
fi
|
|
if [ ! -x "$(which 7z)" ]; then
|
|
if [ ! -x "$(which 7z)" ]; then
|
|
@@ -41,6 +41,8 @@ fi
|
|
mysqluser="root"
|
|
mysqluser="root"
|
|
mysqlpass="mysqlpasswd"
|
|
mysqlpass="mysqlpasswd"
|
|
pass7z="7zencryptionpasswd"
|
|
pass7z="7zencryptionpasswd"
|
|
|
|
+user="www-data"
|
|
|
|
+group="www-data"
|
|
backupDir=/var/www/backup
|
|
backupDir=/var/www/backup
|
|
backupName=backup-castanedo.es-$(date +"%Y-%m-%d")-$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 6 | head -n 1).7z
|
|
backupName=backup-castanedo.es-$(date +"%Y-%m-%d")-$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 6 | head -n 1).7z
|
|
backupOutput=$backupDir/$backupName
|
|
backupOutput=$backupDir/$backupName
|
|
@@ -63,7 +65,7 @@ rm $tempfile
|
|
|
|
|
|
#Copy MySQL databases (mysqldump)
|
|
#Copy MySQL databases (mysqldump)
|
|
lista=$(mysql -u $mysqluser -p$mysqlpass -e "show DATABASES;")
|
|
lista=$(mysql -u $mysqluser -p$mysqlpass -e "show DATABASES;")
|
|
-#Parse databases expect information_schema, mysql & performance_schema
|
|
|
|
|
|
+#Parse databases expect information_schema & performance_schema
|
|
for database in $lista; do
|
|
for database in $lista; do
|
|
valid=true
|
|
valid=true
|
|
for excep in Database information_schema performance_schema; do
|
|
for excep in Database information_schema performance_schema; do
|
|
@@ -89,11 +91,12 @@ if [ $? != 0 ];then
|
|
fi
|
|
fi
|
|
|
|
|
|
#Copy Email (this could be heavy in the future)
|
|
#Copy Email (this could be heavy in the future)
|
|
-#printf "Comprimiendo:\t%s\n" /var/spool/mail
|
|
|
|
-#7z a -t7z -mx=9 -p$pass7z -mhe $backupOutput /var/spool/mail > /dev/null
|
|
|
|
-#if [ $? != 0 ];then
|
|
|
|
-# printf "WARNING:\tError copiando emails (Ejecucion continua).\n"
|
|
|
|
-#fi
|
|
|
|
|
|
+printf "Comprimiendo:\t%s\n" /var/mail
|
|
|
|
+#7z a -t7z -mx=9 -p$pass7z -mhe $backupOutput /var/mail > /dev/null
|
|
|
|
+tar -c -zf - /var/mail | 7z a -t7z -mx=9 -p$pass7z -mhe $backupOutput -simail.tar.gz > /dev/null
|
|
|
|
+if [ $? != 0 ];then
|
|
|
|
+ printf "WARNING:\tError copiando emails (Ejecucion continua).\n"
|
|
|
|
+fi
|
|
|
|
|
|
#Copy Certificates (LetsEncrypt)
|
|
#Copy Certificates (LetsEncrypt)
|
|
printf "Comprimiendo:\t%s\n" /etc/letsencrypt
|
|
printf "Comprimiendo:\t%s\n" /etc/letsencrypt
|
|
@@ -117,7 +120,7 @@ if [ $? != 0 ];then
|
|
fi
|
|
fi
|
|
|
|
|
|
#Permissions
|
|
#Permissions
|
|
-chown www-data:www-data $backupOutput
|
|
|
|
|
|
+chown $user:$group $backupOutput
|
|
chmod 640 $backupOutput
|
|
chmod 640 $backupOutput
|
|
|
|
|
|
#Remove files older than 15 days
|
|
#Remove files older than 15 days
|