Advertisement
StraNNicK

mydumper-backup.sh

Jun 10th, 2021
946
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.98 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. t1=$( date -u +%s )
  4.  
  5. for db in $( du -hd1 /db/mysql/ | sort -h | egrep -v "mysql/$" | awk '{ print $2}' | sed 's/\/db\/mysql\///g' )
  6. do
  7.   date=$( date -u +%Y-%m-%d_%H-%M_UTC )
  8.   start_time=$( date -u +%s )
  9.   cd /backup/
  10.  
  11.   echo "-------------------------------------"
  12.   echo "Dumping $db…"
  13.   mydumper --statement-size 10000000 --tz-utc --database "${db}" --triggers --events --routines --build-empty-files --outputdir /backup/tmp/"${db}"
  14.   end_time1=$( date -u +%s )
  15.  
  16.   rm /backup/dumps/"${db}"-"${date}".tar.zst > /dev/null 2>&1
  17.  
  18.   echo "Archiving $db…"
  19.   cd /backup/tmp/
  20.   tar -cf - "${db}" | zstd -T0 -9 - -o /backup/dumps/"${db}"-"${date}".tar.zst
  21.  
  22.   echo "Cleaning up…"
  23.   rm -rf "${db}"
  24.  
  25.   end_time2=$( date -u +%s )
  26.   let time1=$end_time1-$start_time
  27.   let time2=$end_time2-$end_time1
  28.   echo "Done $db. Working time1: $time1, time2: $time2"
  29.   echo
  30. done
  31.  
  32. t2=$( date -u +%s )
  33. let full_time=$t2-$t1
  34. echo "All done. Working time: $full_time"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement