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