djmattyg007

Deploy

Oct 27th, 2013
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.11 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. echo
  4. echo "Matthew's deployment script"
  5. echo
  6.  
  7. if [[ -z "$1" ]]; then
  8.     echo "Not enough arguments supplied."
  9.     exit 1
  10. fi
  11.  
  12. unset dest_host dest_folder src_folder
  13. . $1
  14. if [[ -z "$dest_host" ]] || [[ -z "$dest_folder" ]] || [[ -z "$src_folder" ]]; then
  15.     echo "Invalid configuration file."
  16.     exit 2
  17. fi
  18.  
  19. RSYNC="`/usr/bin/which rsync`"
  20.  
  21. EXCLUDE="--exclude .git*"
  22.  
  23. echo "Dry-run"
  24. echo $RSYNC --dry-run --itemize-changes --delete -rtv $exclude_cust $EXCLUDE $src_folder $dest_host:$dest_folder
  25. read -p "Press enter to start the dry-run"
  26. $RSYNC --dry-run --itemize-changes --delete -rtv $exclude_cust $EXCLUDE $src_folder $dest_host:$dest_folder | less
  27.  
  28. echo
  29.  
  30. echo "Are you happy to proceed?"
  31. select opt in "Yes" "No"; do
  32.     case $opt in
  33.         "Yes")
  34.             break
  35.             ;;
  36.         "No")
  37.             echo "Terminating"
  38.             exit -1
  39.             ;;
  40.     esac
  41. done
  42.  
  43. echo
  44.  
  45. echo "Beginning deployment"
  46. $RSYNC --itemize-changes --delete -rtv $exclude_cust $EXCLUDE $src_folder $dest_host:$dest_folder
  47.  
  48. if [[ $? -eq 0 ]]; then
  49.     echo
  50.     echo "Deployment successful"
  51. else
  52.     echo
  53.     echo "There was a problem with the deployment."
  54. fi
Advertisement
Add Comment
Please, Sign In to add comment