added script
This commit is contained in:
parent
3b7e384e7b
commit
63b93aec1c
45
backup.sh
Executable file
45
backup.sh
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
## Backup Script Nick Leffler 20190326 ##
|
||||||
|
|
||||||
|
servername=$(hostname --fqdn)
|
||||||
|
date22=$(date +'%Y%m%d_%H%M')
|
||||||
|
bdir="/opt/backup"
|
||||||
|
dir="${bdir}/${date22}"
|
||||||
|
sqlDir="${dir}/mysql"
|
||||||
|
sshLoc="location_to_rsync_to"
|
||||||
|
|
||||||
|
mkdir -p "${dir}" || exit
|
||||||
|
|
||||||
|
sqlBackup () {
|
||||||
|
mkdir -p "${sqlDir}" || exit
|
||||||
|
databases=`mysql -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
|
||||||
|
for db in $databases; do
|
||||||
|
mysqldump --force --opt --databases $db > "${sqlDir}/$db.sql"
|
||||||
|
done
|
||||||
|
mysqldump --all-databases > "${sqlDir}/fullDump.sql"
|
||||||
|
tar -Jcf "${dir}/${date22}-mysql.tar.xz" "${sqlDir}" > /dev/null 2>&1
|
||||||
|
sleep 4
|
||||||
|
rm -rf "${sqlDir}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# SQL Backup
|
||||||
|
sqlBackup
|
||||||
|
|
||||||
|
# etc backup
|
||||||
|
tar -Jcf "${dir}/${date22}-etc.tar.xz" "/etc/" > /dev/null 2>&1
|
||||||
|
|
||||||
|
# root dir backup
|
||||||
|
tar -Jcf "${dir}/${date22}-root.tar.xz" "/root/" > /dev/null 2>&1
|
||||||
|
|
||||||
|
# WWW data backup
|
||||||
|
tar --exclude='old' -Jcf "${dir}/${date22}-www.tar.xz" "/usr/share/nginx/html/" > /dev/null 2>&1
|
||||||
|
|
||||||
|
# Copy to backup server
|
||||||
|
rsync -vP -a "${bdir}"/ "${sshLoc}:backup/rsync/${servername}/"
|
||||||
|
|
||||||
|
# delete backup after moving
|
||||||
|
rm -rfv "${bdir}/"*
|
||||||
|
|
||||||
|
# delete older than 2 days since there's already snapshots
|
||||||
|
ssh ${sshLoc} "find backup/rsync/$servername/ -type f -atime +2 -delete; find backup/rsync/$servername/ -type d -empty -delete"
|
Loading…
x
Reference in New Issue
Block a user