forked from cowboy/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsugar_ssh.sh
More file actions
59 lines (48 loc) · 1.32 KB
/
Copy pathsugar_ssh.sh
File metadata and controls
59 lines (48 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function ssh_host() {
if ! (($#))
then
echo "Syntax: ssh_host <vz_guest>"
return 0
fi
local vz_guest=$1
ssh -t $(host -t txt $vz_guest.syd.ipowered.com.au | awk -F\" 'END { print $(NF - 1)}')
}
export -f ssh_host
function ssh_guest() {
if ! (($#))
then
echo "Syntax: ssh_guest <vz_guest> [site_name]"
return 0
fi
local vz_guest="$1"
local site="$2"
ssh -t $(host -t txt $vz_guest.syd.ipowered.com.au | awk -F\" 'END { print $(NF - 1)}') "/bin/bash --login -c 'enter_host $vz_guest $site'"
}
export -f ssh_guest
function ssh_site() {
local vz_guest site=$1
if [ $# -lt 1 ]; then
echo "Syntax: ssh_site <site_name>"
return 0
fi
# if we get a full name, we'll follow it to the last alias
local fqdn_regex="^[^.]+\..+"
if [[ $site =~ $fqdn_regex ]]
then
if ! vz_guest=$(host "$site" | awk -F. '/has address/ {print $1}')
then
echo "Error getting guest VM name from FQDN ($site)" >&2
return 1
fi
site=${site%%.*}
else
vz_guest=$(host -t a $site.insightfulcrm.com | awk -F. 'END {print $1}')
fi
if [[ "$vz_guest" != "$site" ]]; then
ssh -t $(host -t txt $vz_guest.syd.ipowered.com.au | awk -F\" 'END { print $(NF - 1)}') "/bin/bash --login -c 'enter_host $vz_guest $site'"
else
echo "Site $site does not exist!"
return 1
fi
}
# take fqdn, if it's .mq.edu.au, trace down to the last name