ncftp 설치및 스크립트 백업 방법

by 조쉬 posted Feb 27, 2014
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
#cd /usr/local/
#tar xvfz xvfz ncftp-3.2.1-linux-x86-glibc2.3-export.tar.gz
#cd ncftp-3.2.1
#ln -s /usr/local/ncftp-3.2.1/bin/ncftp /usr/bin/
#ln -s /usr/local/ncftp-3.2.1/bin/ncftpls /usr/bin/
#ln -s /usr/local/ncftp-3.2.1/bin/ncftpput /usr/bin/
#ln -s /usr/local/ncftp-3.2.1/bin/ncftpget /usr/bin/
 
anonymous 접속하기
첫번째방법: #ncftp ftp.daum.net
두번째방법:
#ncftp
NcFTP 3.2.1 (Jul 29, 2007) by Mike Gleason (http://www.NcFTP.com/contact/).
ncftp> open ftp.daum.net
 
계정으로 접속하기
#ncftp -u nforce 211.233.5.70
#ncftp -u nforce -p 1818218 211.233.5.70    ===> 패스워드지정접속
#ncftp -u nforce -P 21 211.233.5.70    ===> 포트지정접속
 
북마크 기능
--------------------------------------------------------------
#ncftp -u nforce 211.233.5.70
패스워드 입력하고
ncftp / > bookmark
Enter a name for this bookmark: nforce

You logged into this site using a password.
Would you like to save the password with this bookmark?
Save? [no] y
Bookmark "nforce" saved.
ncftp / > exit
---------------------------------------------------------------
다음에 접속할때
#ncftp nforce 만하면 그냥 접속된다.
 
파일업로드 put 파일명
파일다운로드 get 파일명
멀티파일업로드 mput 파일명       mput file*          mput *
멀티파일다운로드 mget 파일명    mget file*         mget *
디렉토리 통째로 업로드및 다운로드 mget -R www/        mput -R www/
 
 
 
▶ ncftp 를 이용한 네트워크 백업스크립트
--------------------------------------------------------------------------------------------------------
#!/bin/bash
# 공통설정
export Today="`date '+%y-%m-%d'`"
backup_dir="/home/backup"                         
---> 로컬 백업할 디렉토리 
# 디비설정
DB_user="계정";                   ---> 디비 root                 
DB_pass="비밀번호";           
---> 디비패스워드
# 원격설정
FTP_addr="아이피주소";            ---> 네트워크 백업할 원격지 ftp서버 아이피
FTP_user="계정";                       ---> 아이디
FTP_pass="비밀번호";                
---> 비번
# 디렉토리 생성
if [ ! -d "${backup_dir}/${Today}" ]
then
/bin/mkdir -p ${backup_dir}/$Today                                   ---> 로컬백업하는 날짜
/bin/mkdir -p ${backup_dir}/$Today/homedir                       ---> 웹파일
/bin/mkdir -p ${backup_dir}/$Today/databases                   ---> 디비 파일
/bin/mkdir -p ${backup_dir}/$Today/system                      ---> dns파일
fi
echo "-------------------------------- Delete Old Files Start ------------------------------"
yesterday=$(date --date '2 days ago' +%y-%m-%d)                                           --->  2일지난거는 삭제
ncftp -u${FTP_user} -p${FTP_pass} ${FTP_addr} << EOF
rm -rf $yesterday
quit
EOF
echo "-------------------------------- Delete Old Files End   ------------------------------"
 
echo "-------------------------------- System/Databases Backup Start --------------------"
# 시스템 디렉토리 백업
tar cvfpz ${backup_dir}/$Today/system/var.named.tar.gz /var/named --ignore-failed-read
# databases를 사용자별 백업
for database in `mysqlshow -u ${DB_user} -p${DB_pass} | awk -F" " '{ print $2 }' | grep -v "^$" |grep -v "Databases"` ; do
  mysqldump -u ${DB_user} -p${DB_pass}  "${database}" ${table} > ${backup_dir}/${Today}/databases/${database}.sql
done
# 원격 데이타백업을 시작한다.
ncftp -u${FTP_user} -p${FTP_pass} ${FTP_addr} << EOF
put -R ${backup_dir}/$Today
quit
EOF
/bin/rm -rf ${backup_dir}/$Today/system
/bin/rm -rf ${backup_dir}/$Today/databases
echo "-------------------------------- System/Databases Backup End ---------------------"
echo "-------------------------------- Home Backup Start --------------------------------"
dirlists=`/bin/ls -t /home 2>/dev/null`
for dir in $dirlists
do
tar cvfpz ${backup_dir}/$Today/homedir/$dir.tgz /home/$dir
ncftp -u${FTP_user} -p${FTP_pass} ${FTP_addr} << EOF
put -R ${backup_dir}/$Today
quit
EOF
/bin/rm -rf ${backup_dir}/$Today/homedir/$dir.tgz
done
/bin/rm -rf ${backup_dir}/$Today
echo "-------------------------------- Home Backup End ----------------------------------"
--------------------------------------------------------------------------------------------------------