'shell'에 해당되는 글 2

  1. 2011/08/08 zziuni crontab 사용법
  2. 2011/02/27 zziuni 콘솔에서 FTP 사용법.

crontab 사용법

shell | 2011/08/08 15:01 | zziuni

crontab

유닉스계열의 시스템에서 batch job을 돌릴때 사용한다. 어떤 작업을 하는 shell script 작성한 후에 crontab에 일정을 등록하면 정해진 시간에 자동으로 실행한다. mac command를 기준으로 작성한다. 서버 로그를 정리하는 작업이나, 시간이 오래걸리는 통계/정산 작업등을 등록할때도 사용할 수 있다. 간단한 명령어지만, 자주 사용하지 않는 기능이다 보니 쓸려면 생각이 안난다. 회사의 svn 서버를 windows server 에서 mac mini로 옮기면서 svn dump를 매일 떠야 하는데, srontab 이 생각이 안나서 정리해봤다.

현재 crontab에 등록된 리스트 보기

먼저 뭔가 돌고 있는지를 확인하자. 신규서버나 로컬이 아니면 이미 등록되어있는 '작업'이 있을 수 있다. 옵션 -l 를 통해 현재 등록되어있는 리스트 확인이 가능하다. 등록된 내용이 없으면 아무것도 나오지 않는다.

> crontab -l
0 4 * * * /respo/cron.sh

chrontab등록

옵션 -e 를 주면 crontab를 수정할 수 있게 vi 가 실행되는데, 등록된 것이 없으면 신규 파일이 뜬다. 작성하면 된다.

> crontab -e
crontab: no crontab for stonerain - using an empty one

작성하기

먼저 인자를 알아야 한다. crontab은 공백문자를 구분자로 해서 한 라인에 6개의 인자를 적어주면 끝이다. 인자는 순서대로 아래와 같다. 매주 월 수 금 새벽 4시에.. 라는 식의 스케줄을 아래 인자로 표현해 주면 된다.

  Arg 1 : minute ( 0 – 59 )
  Arg 2 : hour ( 0 – 23 )
  Arg 3 : day of month ( 1 – 31 )
  Arg 4 : month ( 1 – 12 )
  Arg 5 : day of week ( 0 – 6 ) 0 : 일요일
  Arg 6 : 명령어 or 실행파일 path

샘플

  • 매일 새벽 4시 실행 : 0 4 * * * /repository/cron.sh
  • 매주 수,토요일에 오전 8:20분 실행 : 20 8 * * 3,6 /repository/cron.sh
  • 매월 25일 0시에 실행 : 0 0 25 * * /repository/cron.sh
  • 1월 6월 1일 자정 실행 : 0 0 1 1,8 * /repository/cron.sh
2011/08/08 15:01 2011/08/08 15:01

Comments List

Write a comment.

[로그인][오픈아이디란?]

콘솔에서 FTP 사용법.

shell | 2011/02/27 22:18 | zziuni


Mac에서 블로그 스킨을 수정할려고 하다보니, FTP Tool이 없다는걸 알았습니다.
Windows에선 GUI 툴만 사용했고, Mac에선 vim을 쓰다보니...
이참에 콘솔에서 FTP쓰는 법을 익혀봤습니다.

콘솔에서 ftp는 기본적으로 업/다운을 할 local folder를 들어가서 시작하는 것이 편합니다. ftp를 실행하면 ftp> 이 떨어지며 다음 명령어들을 이용해 get/put을 할 수 있습니다.

FTP접속하기.
콘솔에서 ftp를 실행하면 ftp> 콘솔이 뜹니다. 여기서 remote host에 붙습니다. ftp계정정보를 넣고 로그인에 성공하면 Login successful이 뜹니다.
로그인이 실해했을 경우는 close 로 connect를 닫고 다시 open을 합니다.

ftp> open zziuni.pe.kr
Connected to zziuni.pe.kr.
220 (vsFTPd 2.0.5)
Name (zziuni.pe.kr:root): __
331 Please specify the password.
Password: __
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> _


connect가 된 후에는 ls, cd, mkdir, rmdir, pwd 같은  기본적인 폴더와 파일을 컨트롤 하는 콘솔명령어들을 사용할 수 있습니다. 전체 명령어가 궁금하면 ? 하면 됩니다.

단일 파일가져오기는 해당 폴더를 찾아가서 get을 이용합니다.
ftp>get index.php

다중 파일 다운로드는 mget을 이용합니다. 해당 remote폴더에있는 조건에 맞는 파일을 모두 받습니다. mget을 이용하면 매 파일마다 다운로드 여부 yes/no를 묻습니다. 이게 싫다면 prompt로 Interactive mode를 끕니다. mode를 켜는 것도 prompt로 합니다.
ftp> prompt
Interactive mode off.
ftp> mget *.php

파일을 업로드 하는 put도 마찬가지입니다. 단일 파일과 다중파일 업로드입니다. 상대경로로 로컬경로 설정도 가능합니다.
ftp>put index.php
ftp>mput ../scripts/*.js

요즘처럼 좋은 툴이 넘처날때에 콘솔이 필요할까 싶지만, 방화벽등의 이유로 host에서 host로 붙여야 하는 경우가 있습니다. 이런 shell로만 작업을 해야할때 유용하더군요.
단순히 접속/업/다운이 지만 정리차원에서 포스팅합니다. 
2011/02/27 22:18 2011/02/27 22:18
TAG ,

Comments List

Write a comment.

[로그인][오픈아이디란?]