우분투에서 EBS 라디오 예약 녹음하기

우분투 리눅스를 활용하여 EBS 라디오를 예약 녹음하는 방법을 소개합니다.
우선 다음과 같이 필요한 패키지를 설치합니다.
$ sudo apt-get install mimms
$ sudo apt-get install mplayer
$ sudo apt-get install lame 
EBS 라디오를 녹음하기 위한 스크립트를 생성합니다. 
다음 내용을 recEbsRadio.sh로 저장해 주세요.
#!/bin/bash
RADIO_ADDR=”mms://211.218.209.124/L-FM_300k”
RADIO_NAME=”ebs_radio”

PROGRAM_NAME=$1
RECORD_MINS=$2
DEST_DIR=$3

REC_DATE=`date +%m%d`
TEMP_ASX=`mktemp -u`
TEMP_WAV=`mktemp -u`
MP3_FILE_NAME=$PROGRAM_NAME”_”$REC_DATE.mp3

ID3_TITLE=$REC_DATE”_”$PROGRAM_NAME
ID3_ARTIST=$RADIO_NAME
ID3_ALBUM=$PROGRAM_NAME
ID3_YEAR=`date +%Y`

mimms -t $RECORD_MINS $RADIO_ADDR $TEMP_ASX
mplayer -ao pcm:file=$TEMP_WAV $TEMP_ASX
lame –preset voice –tt $ID3_TITLE –ta $ID3_ARTIST –tl $ID3_ALBUM –ty $ID3_YEAR $TEMP_WAV $MP3_FILE_NAME

rm $TEMP_WAV
rm $TEMP_ASX

mkdir -p $DEST_DIR
mv $MP3_FILE_NAME $DEST_DIR
다음과 같이 recEbsRadio.sh 파일에 실행 권한을 부여합니다. 
$ chmod a+x recEbsRadio.sh
첫번째 인자는 프로그램 이름 
두번째 인자는 녹음 시간(분)
세번째 인자는 mp3 파일 저장 디렉토리
사용 예제는 다음과 같습니다. 
$ ~/recEbsRadio.sh EarEng 30 ~/ebs 
지금부터 30분 동안 EBS 라디오를 녹음하여 ~/ebs/EarEng_0201.mp3로 저장하겠다는 의미입니다.
cron을 활용하여 월요일~토요일 오전 6시부터 30분 동안 귀트영을 녹음하는 설정을 해보겠습니다. 
cron에 스크립트 실행을 등록하기 위해 다음 명령어를 실행해 주세요.

$ crontab -e

에디터가 실행되면 다음 한 줄을 추가 후, 저장하고 나오시면 됩니다. 
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs &> /dev/null
이는 월요일~토요일(1-6) 매일 오전 6시(06) 00분(00)에 recEbsRadio.sh를 실행하겠다는 의미입니다. 
귀트영, 운트영, 입트영을 모두 녹음하시려면 다음 3줄을 추가해 주세요. 
00 06 * * 1-6 ~/recEbsRadio.sh EarEng 30 ~/ebs &> /dev/null 2>&1
30 06 * * 1-6 ~/recEbsRadio.sh LuckEng 20 ~/ebs &> /dev/null 2>&1
00 07 * * 1-6 ~/recEbsRadio.sh MouthEng 20 ~/ebs &> /dev/null 2>&1
다음 명령을 통해 cron에 제대로 등록되었는지 확인할 수 있습니다. 
$ crontab -l

이 글은 다음 URL을 참조 및 보완하여 작성되었습니다.