로그인 정보파일을 이용하여 원격서버에 접속하여 지정한 파일 가져오기(ncftpget)
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,176 조회
- 0 추천
- 목록
본문
로그인 정보파일을 이용하여 원격서버에 접속하여 지정한 파일 가져오기(ncftpget)
이번에는 지금까지 ncftpget을 사용하였던 방법과는 조금 다른 방법으로서 ncftpget을 쉘스크립트에 응용할 수 있는 방법입니다.
즉, 원격지 서버의 정보(호스트정보, ID정보, 패스워드)를 특정 파일에 저장한 파일을 이용하여 원격서버로 접속하여 파일을 가져오는 예입니다.
즉, 특정파일에 ncftpget으로 접속할 원격지서버의 정보를 다음과 같은 형식으로 지정합니다.
아래에서 파일명은 원하는 파일명으로 임의지정 가능하지만 저장형식은 반드시 아래와 같은 형식으로 사용하셔야 합니다.
host 접속할 호스트정보 (예 : hostname, IP주소,
도메인명등)
user 접속시 사용할 계정명
pass 접속시 사용할 계정의 패스워드
위와 같은 정보가 저장되어 있는 파일을 생성한 후에 ncftpget사용시 -f옵션으로 이 파일을 지정하면 저장되어 있는 정보를 이용하여 원격서버로 접속을 합니다.
아래의 예는 su250.com.cfg라는 파일(파일명은 임의지정가능)을 생성하여 다음과 같은 정보를 입력하였습니다.
[root@su252 ~]# cat su250.com.cfg host 192.168.0.250 user sspark pass 11111111 [root@su252 ~]# |
즉, 위의 정보를 이용하면 ncftpget로 192.168.0.250서버로 접속할 때에 sspark라는 계정과 sspark의 계정패스워드로 “11111111”를 이용하게 됩니다.
아래의 예는 su250.com.cfg파일의 정보를 이용하여 원격서버로 접속한 후에 원격서버의 /home/sspark/ 전체내용을 가져와서 로컬서버의 /backup/su250.com/sspark/에 저장하는 예입니다.
따라서 su250.com.cfg파일의 host정보가 192.168.0.250이며, user정보가 sspark이며, pass정보가 11111111이므로 이 정보를 이용하여 ncftpget접속을 자동으로 하게 됩니다.
[root@su252 ~]# ncftpget -f su250.com.cfg -R /backup/su250.com /home/sspark /backup/su250.com/sspark/.bash_history: 1.81 kB 904.86 kB/s /backup/su250.com/sspark/.bash_logout: 18.00 B 9.95 kB/s /backup/su250.com/sspark/.bash_profile: 176.00 B 149.59 kB/s /backup/su250.com/sspark/.bashrc: 124.00 B 16.89 MB/s /backup/su250.com/sspark/vsftpd-2.0.1.tar.gz: 142.80 kB 1.28 MB/s /backup/su250.com/sspark/vsftpd-2.0.6.tar.gz: 154.80 kB 8.90 MB/s /backup/su250.com/sspark/webssh.tar.gz: 511.64 kB 35.51 MB/s /backup/su250.com/sspark/.ssh/known_hosts: 395.00 B 833.14 kB/s /backup/su250.com/sspark/www/vsftpd-2.0.1.tar.gz: 142.80 kB 18.13 MB/s /backup/su250.com/sspark/www/vsftpd-2.0.6.tar.gz: 154.80 kB 50.70 MB/s /backup/su250.com/sspark/www/webssh.tar.gz: 511.64 kB 4.19 MB/s [root@su252 ~]# |
위와 같이 원격서버의 특정계정의 홈디렉토리 전체를 가져와서 현재 로컬서버의 /backup디렉토리내에 다음과 같이 저장할 수 있습니다.
즉, 다음은 가져온 파일들이 /backup/su250.com디렉토리내에 잘 저장되었음을 확인한 것입니다.
[root@su252 ~]# ls -l /backup/su250.com/sspark 합계 828 -rw-r--r-- 1 root root 146231 10월 17 22:37 vsftpd-2.0.1.tar.gz -rw-r--r-- 1 root root 158516 10월 17 22:37 vsftpd-2.0.6.tar.gz -rw-r--r-- 1 root root 523916 10월 17 22:37 webssh.tar.gz drwxr-xr-x 2 root root 4096 10월 22 20:16 www [root@su252 ~]# |
방금 예로든 방법은 원격지 1대의 서버에 있는 특정 계정사용자의 홈디렉토리만을 가져오는 방법입니다.
하지만, 이 방법을 이용하면 특정 서버 내에 존재하는 모든 계정사용자들의 홈디렉토리들을 모두 가져오게 할 수도 있습니다.
특정 서버 1대 뿐 아니라 원격지 여러 대의 서버들에 있는 모든 사용자들의 홈디렉토리 데이터를 한꺼번에 가져오게 할 수도 있습니다.
아마도, 이번 예를 보신 후에 여러분들께서 꼭 생각하셔야 하는 것이 있습니다.
즉, 이런 방법을 이용한다면 ncftpget (ncftp, ncftpput포함)을 이용하여 멋진 백업서버를 구축할 수 있다는 것을 생각하셔야 합니다.
이 말의 의미는 아마도 시스템관리 경험이 좀 있으신 분들이라면 이번 예를 보면서 많을 것을 느낄 수 있을 것입니다.
즉, 이와 같이 ncftpget을 이용하여 백업서버를 구축할 수도 있다는 것을 알 수 있습니다.
실제로 필자는 여러 가지 방법으로 백업서버를 구축하여 사용해 왔습니다.
필자가 사용했던 백업방법들을 순서대로 간략히 나열해 보면 다음과 같습니다.
- 전통적인 ftp를 이용하여 백업쉘스크립트를 이용한 백업방법
- rsync를 이용한 백업방법
- wget을 이용한 백업방법
- ncftpget을 이용한 백업방법
물론, amanda와 같은 백업솔루션을 이용하여 구축을 할 수도 있으나 여기서 언급하고 있는 백업방법은 모두 간단한 스크립트와 cron을 이용한 백업방법들을 말하고 있습니다.
필자는 여러분들께서 이번 장에 설명 드린 내용에 머물지 않고 한단계 앞선 응용방법을 생각할 수 있는 현명한 시스템관리자라는 것을 알고 있습니다.
이 시대의 시스템관리자로 일하고 계시는 많은 분들께 필자는 진심으로 Fighting!!!을 드리고 싶습니다.
관련자료
-
이전
-
다음