Guest User

Untitled

a guest
Feb 19th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #shsql tools
  2. SH_PATH=/usr/local/shsql/
  3. shsqlstart=${SH_PATH}shsqlstart
  4. shsql=${SH_PATH}shsql
  5. shsqlend=${SH_PATH}shsqlend
  6. shsqlline=${SH_PATH}shsqlline
  7.  
  8. SHSQL=mysql; export SHSQL
  9.  
  10. HANDLE=`${shsqlstart} "host=${SQL_HOST} dbname=${SQL_DBNAME} user=${SQL_USERNAME} password=${SQL_PASSWORD}"`
  11. QUERY="SELECT source,flags,destination,days FROM backups WHERE enabled = 1"
  12.  
  13. ${shsql} ${HANDLE} ${QUERY} |{
  14. while ROW=`${shsqlline}`
  15. do
  16. eval set $ROW
  17. day=`${EXPR} ${4} - 1` # we actually need the previous day as we copy to the next day
  18. while [ ${day} -ge 0 ]
  19. do
  20. NEXT=`${EXPR} ${day} + 1`
  21. # Making today (if it doesn't exist)
  22. if [ ! -d "${3}/day.${day}" ]; then
  23. echo Making "${3}/day.${day} and skipping to next loop"
  24. ${MKDIR} -p "${3}/day.${day}"
  25. continue
  26. fi
  27. # Making tomorrow (if it doesn't exist)
  28. if [ ! -d "${3}/day.${NEXT}" ]; then
  29. echo Making "${3}/day.${NEXT}"
  30. ${MKDIR} -p "${3}/day.${NEXT}"
  31. fi
  32. echo "Running (local): ${RSYNC} ${2} ${3}/day.${day}/ ${3}/day.${NEXT}/"
  33. ${RSYNC} ${2} ${3}/day.${day}/ ${3}/day.${NEXT}/
  34.  
  35. day=`${EXPR} ${day} - 1`
  36. done
  37.  
  38. echo "Running (remote): ${RSYNC} -z ${2} ${1} ${3}/day.0/"
  39. ${RSYNC} -z ${2} ${1} ${3}/day.0/
  40. done
  41. }
  42.  
  43. # destroy the handle
  44. ${shsqlend} $HANDLE
Add Comment
Please, Sign In to add comment