Advertisement
Guest User

Untitled

a guest
Jul 21st, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ARCHIVE=/backup
  4. REPO=local
  5. HOST=localhost
  6. USERNAME=Administrator
  7. PASSWORD=password
  8. THREADS=4
  9. RESTOREPOINTS=3
  10.  
  11. CBBACKUPMGR=/opt/couchbase/bin/cbbackupmgr
  12. BACKUPREGEX="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}_[0-9]{2}_[0-9]{2}.[0-9]{9}Z"
  13.  
  14. # Running backup
  15. CMD="${CBBACKUPMGR} backup --archive ${ARCHIVE} --repo ${REPO} --host couchbase://${HOST} --username ${USERNAME} --password ${PASSWORD} --threads ${THREADS}"
  16. echo -e "Running backup...\nCommand: ${CMD}"
  17. $CMD
  18.  
  19. # Compacting the backup
  20. BACKUPLIST=$(${CBBACKUPMGR} list --archive ${ARCHIVE} --repo ${REPO} | awk '{print $NF}' | grep -E ${BACKUPREGEX})
  21. LASTBACKUP=$(echo "${BACKUPLIST}" | sed '$!d')
  22. CMD="${CBBACKUPMGR} compact --archive ${ARCHIVE} --repo ${REPO} --backup ${LASTBACKUP}"
  23. echo -e "Compacting the backup...\nCommand: ${CMD}"
  24. $CMD
  25.  
  26. # Merging old backups
  27. COUNT=$(echo "${BACKUPLIST}" | wc -l)
  28.  
  29. if [ "$COUNT" -gt "$RESTOREPOINTS" ]; then
  30. START=$(echo "${BACKUPLIST}" | sed -n 1p)
  31. END=$(echo "${BACKUPLIST}" | sed -n $((1+COUNT-RESTOREPOINTS))p)
  32. CMD="${CBBACKUPMGR} merge --archive ${ARCHIVE} --repo ${REPO} --start ${START} --end ${END}"
  33. echo -e "Merging old backups...\nCommand: ${CMD}"
  34. $CMD
  35. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement