본문 바로가기
Linux/Shell Script

원격 관련 스크립트

by Luuii 2017. 10. 13.

■ 두대의 서버에 서비스 on/off 비교하는 스크립트

 

전제 조건 상대방에 내 인증이 공유되어있어야한다.

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
HOST1=linux213
HOST2=linux249
TMP1=/tmp/tmp1
 
 
chkconfig --list | sed -'/xinetd based/,$p' > $HOST1.txt
ssh $IP1 chkconfig --list | sed -'/xinetd based/,$p' > $HOST2.txt
diff $HOST1.txt $HOST2.txt > $TMP1
cat $TMP1 | sed "s/</$HOST1/" | sed "s/>/$HOST2/"
cs

 

 

■ 파일 자동 업로드/다운로드

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
 
ftp -127.0.0.1 21 << EOF
user root soldesk1.
cd /tmp
lcd /test
bin
hash
prompt
mput testfile.txt
quit
EOF"
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
 
FILE=linux213.txt
for IP in `cat /root/bin/server.txt`
do
    ftp -n $IP 21 <<- EOF
    user root soldesk1.
    cd /tmp
    lcd /test
    bin
    hash
    prompt
    mput $FILE
    quit
    EOF
done
 
cs

 

 

■ 원격서버의 자동 명령어 수행

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
 
cat /root/bin/server.list | while read HOST U_NAME U_PASS
do
    a() {
            sleep 8 ; echo "$U_NAME"
            sleep 1 ; echo "$U_PASS"
            sleep 1 ; echo 'hostname'
            sleep 1 ; echo 'id'
            sleep 1 ; echo 'exit'
    }   
    a | telnet $HOST
done  
cs

 

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
#!/bin/bash
 
a() {
    sleep 6 ; echo 'root'
    sleep 1 ; echo 'soldesk1.'
    sleep 1 ; echo 'tar cvzf /tmp/linux213.tar.gz /home'
    sleep 10 ; exit
}
| telnet 172.16.6.249
 
 
sleep 10
 
ftp -172.16.6.249 21 << EOF
user root soldesk1.
cd /tmp
lcd /root
bin
hash
prompt
mget linux213.tar.gz
quit
EOF
 
ls -/root/linux213.tar.gz
cs

 

 

■ 원격서버의 자동 명령어 수행 - 리눅스 -> 윈도우즈

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
 
IP=172.16.6.22
PORT=21
 
ftp -n $IP $PORT << EOF
user user01 user01
bin
hash
prompt
cd test
lcd /test
mput linux213.txt
quit
EOF
cs

 

 

 

 

반응형