Advertisement
iklio

Untitled

Oct 16th, 2013
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ----------------------------------------
  2. Opens a reverse ssh connection to "username@host", forwarding "port" to the local ssh.
  3. Retries every 3 minutes if the forwarding (or the connection) fails
  4. ----------------------------------------
  5. #!/bin/bash
  6. for (( ; ; ))
  7. do
  8.     ssh -g -o "ExitOnForwardFailure yes" -R port:localhost:22     username@host
  9.     sleep 180
  10. done
  11.  
  12.  
  13.  
  14. ----------------------------------------
  15. Script that adds another route to internet. Add table "admin" to /etc/iproute2/rt_tables once before running the script the first time. Here, 10.0.0.138 is the router, eth0 is the network device that connects to the secondary route.
  16. ----------------------------------------
  17.  
  18. #!/bin/bash
  19. #Add table "admin" to /etc/iproute2/rt_tables
  20. myotherdevice=eth0
  21. myothernetwork=10.0.0
  22. myothergateway=10.0.0.138
  23. myotherip=$(ifconfig | grep $myothernetwork | cut -d: -f2 | cut -f1 -d' ')
  24. ip route add ${myothernetwork}.0/24 dev $myotherdevice src $myotherip table admin
  25. ip route add default via $myothergateway dev $myotherdevice table admin
  26. ip rule add from ${myotherip}/32 table admin
  27. ip rule add to ${myotherip}/32 table admin
  28. ip route flush cache
  29.  
  30.  
  31. ----------------------------------------
  32. Script that downloads a directory using rsync, with resume.
  33. ----------------------------------------
  34.  
  35. #!/bin/bash
  36. while [ 1 ]
  37. do
  38.     rsync -avrvv --size-only --partial --progress username@host:/source_dir destination_dir
  39.     if [ "$?" = "0" ] ; then
  40.         echo "Rsync completed normally."
  41.         exit
  42.     else
  43.         echo "Rsync failed. Retrying in 3 minutes."
  44.         sleep 180
  45.     fi
  46. done
  47.  
  48. ----------------------------------------
  49. Same, but binds the connection to the other interface/route (10.0.0.2 is the assigned ip).
  50. ----------------------------------------
  51.  
  52. #!/bin/bash
  53.  
  54. while [ 1 ]
  55. do
  56.     rsync --address=10.0.0.2 -avrvv --size-only --partial --progress -e 'ssh -oBindAddress=10.0.0.2' username@host:/source_dir destination_dir
  57.     if [ "$?" = "0" ] ; then
  58.         echo "Rsync completed normally."
  59.         exit
  60.     else
  61.         echo "Rsync failed. Retrying in 3 minutes."
  62.         sleep 180
  63.     fi
  64. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement