| | #!/bin/bash |
---|
| | |
---|
| | |
---|
| | # backup directory |
---|
| | backupDir=./backup |
---|
| | mkdir -p ${backupDir} |
---|
| | mkdir -p ${backupDir}/db |
---|
| | mkdir -p ${backupDir}/conf |
---|
| | mkdir -p ${backupDir}/app |
---|
| | |
---|
| | # current date |
---|
| | currentDate=$(date +"%Y-%m-%d_%H-%M-%S") |
---|
| | |
---|
| | |
---|
| | # backup mysql |
---|
| | dbFile="${backupDir}/db/${currentDate}.sql" |
---|
| | docker-compose exec wordpress-database sh -c 'exec mysqldump --lock-tables --default-character-set=utf8mb4 -uroot -p"${MYSQL_ROOT_PASSWORD}" ${MYSQL_DATABASE}' > ${dbFile} |
---|
| | sed -i "/^mysqldump: \\[Warning\\]/d" ${dbFile} |
---|
| | tar -cj ${dbFile} -f "${dbFile}.tbz2" |
---|
| | rm ${dbFile} |
---|
| | |
---|
| | # backup config files (sudo do prevent permissions) |
---|
| | sudo tar -cj wordpress.conf -f "${backupDir}/conf/${currentDate}.tbz2" |
---|
| | |
---|
| | # backup config files |
---|
| | sudo tar -cj data/app -f "${backupDir}/app/${currentDate}.tbz2" |
---|
| | |
---|
| | # delete all files older 30 days |
---|
| | #find ${backupDir} -iname "*.tbz2" -type f -mtime +10 -exec rm {} \; > /dev/null |
---|
| | |
---|
| | |