Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- t1=$( date -u +%s )
- for db in $( du -hd1 /db/mysql/ | sort -h | egrep -v "mysql/$" | awk '{ print $2}' | sed 's/\/db\/mysql\///g' )
- do
- date=$( date -u +%Y-%m-%d_%H-%M_UTC )
- start_time=$( date -u +%s )
- cd /backup/
- echo "-------------------------------------"
- echo "Dumping $db…"
- mydumper --statement-size 10000000 --tz-utc --database "${db}" --triggers --events --routines --build-empty-files --outputdir /backup/tmp/"${db}"
- end_time1=$( date -u +%s )
- rm /backup/dumps/"${db}"-"${date}".tar.zst > /dev/null 2>&1
- echo "Archiving $db…"
- cd /backup/tmp/
- tar -cf - "${db}" | zstd -T0 -9 - -o /backup/dumps/"${db}"-"${date}".tar.zst
- echo "Cleaning up…"
- rm -rf "${db}"
- end_time2=$( date -u +%s )
- let time1=$end_time1-$start_time
- let time2=$end_time2-$end_time1
- echo "Done $db. Working time1: $time1, time2: $time2"
- echo
- done
- t2=$( date -u +%s )
- let full_time=$t2-$t1
- echo "All done. Working time: $full_time"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement