Advertisement
dpeca

backup.sh

Oct 16th, 2020
2,342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.33 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. USER=''
  4. if [ $# -gt 0 ]; then
  5.     USER=$1
  6. fi
  7.  
  8. if [ ! -d "/baze" ]; then
  9.     eval "mkdir /baze"
  10.     eval "chmod a-rwx /baze"
  11.     eval "chmod u=rwx /baze"
  12. fi
  13.  
  14. if [ ! -d "/baze-arhiva" ]; then
  15.     eval "mkdir /baze-arhiva"
  16.     eval "chmod a-rwx /baze-arhiva"
  17.     eval "chmod u=rwx /baze-arhiva"
  18. fi
  19.  
  20. rm /baze/*
  21.  
  22. cd /var/lib/mysql
  23. for D in *; do
  24.     if [ -d "${D}" ]; then
  25.         D=${D//@002d/-}
  26.         D=${D//@002e/.}
  27.         if [ ! -z "$USER" ] && [ ]; then
  28.             continue
  29.         fi
  30.         # echo "${D}"   # your processing here
  31.         while true
  32.         do
  33.             if pgrep -x "mysqldump" > /dev/null
  34.             then
  35.                 echo "Wait other mysqldump to finish"
  36.                 sleep 1
  37.             else
  38.                 echo "Backuping ${D}"
  39.                 break
  40.             fi
  41.         done
  42.  
  43.         nice -n 19 ionice -c 3 mysqldump -h localhost ${D} > /baze/${D}_db_`date +"%Y%m%d%H"`.sql
  44.         echo "Gziping..."
  45.         nice -n 19 ionice -c 3 gzip /baze/${D}_db_`date +"%Y%m%d%H"`.sql
  46.         echo "Done."
  47.     fi
  48. done
  49.  
  50. find /baze-arhiva/* -mtime +15 -exec rm {} \;
  51.  
  52. cd /baze
  53. cp * /baze-arhiva
  54.  
  55. chmod a-rwx /backup.sh
  56. chmod u=rwx /backup.sh
  57.  
  58. chmod -R a-rwx /baze
  59. chmod -R u=rw /baze
  60. chmod u=rwx /baze
  61.  
  62. chmod -R a-rwx /baze-arhiva
  63. chmod -R u=rw /baze-arhiva
  64. chmod u=rwx /baze-arhiva
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement