[리눅스 쉘프로그래밍] 유닉스 타임을 이용해 주기적으로 작업을

dogspy의 이미지

리눅스가 부팅되면 자동으로 데몬으로 실행시키면서 while문을 사용해

무한 루프를 돌면서 프로그램이 실행될때의 유닉스타임을

int 값으로 받아 그 int 값을 이용해 5분간격으로 파일하나를 다른곳으로 cp시키는

프로그램을 짜려고합니다.

#!/bin/bash

while [1]

do

time_var=`date+%s`

if [ &time_var MOD 300 = 0 ]

then

cp -rf 소스디렉토리파일 타겟디렉토리파일

fi

done

이렇게 짜보려고 하는데 쉘프로그래밍 처음 접해봐서 MOD부분이 쉘에선 어떤 문법으로

사용되는것인지 잘모르겠군요. 또 무한루프 부분이라던지 다른 문법이 틀린것이 있는지

좀 봐주세요. ㅜㅜ.. 그리고 백그라운드로 띄우는게 아니라 부팅이 되면서 리눅스내에서

바로 데몬으로 띄우려고 하는데 만일 위의 작성한 파일이 project.sh라면

이 파일을 /etc/rc.d/rc.local 이 파일에다가

./sample.sh >/dev/null 2>&1 &

위에처럼 적어 주기만 하면 되나요? (물론 경로설정은 제가 따로 하고요.)

johlim의 이미지

dogspy씨가 직접 root로 관리하는 서버라면
정기적으로 할 작업을 등록하면 수행해주는 데몬이 따로 있습니다.

crond 에 관해서 자료를 찾아 보세요.

A better tomorrow