maczoo.com 게시판 인덱스 maczoo.com
매킨토시 사용자 커뮤니티
 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   쪽지를 확인하려면 로그인하십시오쪽지를 확인하려면 로그인하십시오   로그인로그인 

[OSX] 바로 위 undo 님이 권하는 백업 자동화하는 프로그램 ^^

 
글 쓰기   답변 달기    maczoo.com 게시판 인덱스 -> Tips & 사용기
이전 글 :: 다음 글  
글쓴이 메시지
atasa
heavy mania
heavy mania


가입: 2002년 9월 9일
올린 글: 79

올리기Posted: 목 2월 03, 2005 11:28 pm    주제: [OSX] 바로 위 undo 님이 권하는 백업 자동화하는 프로그램 ^^

# 안녕하세요?
#
# 바로 밑에 undo 님께서 백업할 필요가 있는 파일들을 나열해 주셨는데,
# 그것을 자동으로 할 수 있는 펄 스크립트를 만들어 봤습니다.
#
# 사용 법은 이 파일의 내용을 backup.pl 등의 이름으로 저장한다음, bbedit 로 열고,
# "#!" 메뉴에서 Run 을 선택하시면 됩니다.
#
# "__DATA__" 라고 되어 있는 줄 밑에 백업 하려는 패쓰와 파일을 나열해 주면 됩니다.
#
# 디렉토리는 아래 예와 같이 줄 시작과 함께 써 주시고,
# 백업할 파일이나 폴더는 공백이나 탭을 한개 이상 넣어주시고 써주면 됩니다.
#
# 예)
코드:

/Users/$usr_name/Library/
   Safari

#
# 그리고 $usr_name 는 사용자 명이 들어갈 자리인데 각자 이름이 다르기 때문에 변수 처리 했습니다.
# 남들도 사용하게 하고 싶을 때는 자기 아이디 를 $usr_name 로 바꿔주세요.
#
# 백업이 될 곳은 아무데나 폴더를 하나 만든다음 아래의 예처럼 폴더 패쓰를 써 주시면 됩니다.
#
# my $FD_Tgt = '/Volumes/9_svr/Backup/';
#
#
# 한글로도 되게 해보려고 아무리 해봐도 시스템이 한글을 인식하지 못하는군요.
#
# 개인이 만든 패쓰는 한글도 되지만 시스템에 기본으로 설치되는 패쓰는 영어만 인식을 하고 있습니다.
# 영문 폴더는 Cmd 키를 누른채 마우스로 드래그하여 에디터 창에다 떨구면 자동으로 들어옵니다.
#
#

코드:

#! /usr/bin/perl

use File::Copy::Recursive qw(fcopy rcopy dircopy);
use File::Basename;
use File::Path; 

my $usr_name = $ENV{USER};

my $FD_Tgt = '/Volumes/9_svr/Backup/';    
my $FLName_Tgt;
my $FL_Tgt;

my $FD_Src ;
my $FLName_Src;
my $FL_Src;

while (<DATA>) {
   chomp;
   if (/#/) {   next;    }
   if (/^\s*$/) {   next;    }
   
   s/\$usr_name/$usr_name/;
   
   if (/^[^\s]/) {
      $FD_Src = $_ ;
      next;
   }
   
   s/^[ \t]+//;
   $FLName_Src = $_;
   
   $FL_Src = $FD_Src . $FLName_Src;
   $FL_Tgt = $FD_Tgt . $FL_Src ;
   $FL_Tgt =~ s(\/+)(\/)g;
   
   if ( -d  $FL_Src ) {
      $FL_Tgt .= "/";
      $FD_Tgt = $FL_Tgt  ;
   } else {
      $FD_Tgt = dirname $FL_Tgt;
   }
   
   mkpath $FD_Tgt if ( ! -d  $FD_Tgt );

   print "rcopy   $FL_Src,  $FL_Tgt" ;
   
   rcopy  $FL_Src,  $FL_Tgt ;
   
}


__DATA__

#이렇게 한글로 하면 안되고, 
#/유저/$usr_name/라이브러리/
#   Safari   

# 이렇게 영어로 해야 됩니다.
/Users/$usr_name/Library/
   Safari

# "#"으로 시작되는 문장은 주석문입니다.
# 빈줄은 자동으로 무시되므로 띄워도 좋습니다.

/Users/$usr_name/Library/Preferences
   com.apple.Safari.plist

/Users/$usr_name/Library/Mail
    com.apple.mail.plist
   
/Users/$usr_name/Documents
   iChat
   com.apple.iChat.AIM.plist
   com.apple.iChat.plist
   com.apple.iChat.SubNet.plist
   com.apple.iChatAgent.plist


# 이런식으로 얼마든지 나열만 해주시면 백업이 됩니다.
# 항목 요소는 파일이나 폴더나 다 됩니다. 폴더 위치까지 그대로 만들어지면서 백업됩니다. ^^
# 해 보시고 혹 안되면 댓글 남겨 주십시요.[/code]


atasa 가 수 2월 09, 2005 12:21 pm에 수정함, 총 13 번 수정됨
위로
atasa
heavy mania
heavy mania


가입: 2002년 9월 9일
올린 글: 79

올리기Posted: 목 2월 03, 2005 11:38 pm    주제:

Perl File::Copy::Recursive 모듈을 설치하기

http://search.cpan.org/~dmuey/File-Copy-Recursive-0.04/Recursive.pm

을 다운 받고,

root 권한을 가지시고,

아래 폴더를 만든 다음,

mkdir /System/Library/Perl/5.8.1/File/Copy

다운 받은 Recursive.pm 파일을 넣으세요.

cp Recursive.pm /System/Library/Perl/5.8.1/File/Copy/
위로
이전 글 표시:   
이전 글 :: 다음 글  
글 쓰기   답변 달기    maczoo.com 게시판 인덱스 -> Tips & 사용기 시간대: GMT + 9 시간(한국)
페이지 1 중 1

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.4 © 2001, 2003 phpBB Group