백업로그에 실시간 기록하기 질문드립니다.

cdral의 이미지

#vi backup.sh
s_time=`date '+%Y-%m-%d %H:%M'`
e_time=`date '+%Y-%m-%d %H:%M'`

1. echo "[$s_time] Transfer starting....." > transfer.txt
2. rsync -avr root@서버IP:~/경로 /경로
3. echo "[$e_time] Transfer complete!!" >> transfer.txt

기본적인 구조인데요 시간이 s_time과 e_time 이 같게 출력되더라구요

당연하게도 생각한것이 1번 18:00시에 실행되고 2번이 10분이 걸렸다면
3번이 18:10분에 기록이 될거라 생각했는데 안되네요 제생각이 틀렷나보네요,,

ydhoney의 이미지

변수를 지정한 위치가 쉘 프로그램의 시작점에 있으니까 시작점에 이미 두 변수는 값이 지정되어 시작되겠잖아요?

그냥 변수를 지정하지 말고

echo "[`date '+%Y-%m-%d %H:%M'`] Transfer starting....." > transfer.txt
rsync -avr root@서버IP:~/경로 /경로
echo "[`date '+%Y-%m-%d %H:%M'`] Transfer complete!!" >> transfer.txt

뭐 이런식으로 사용하세요.

cdral의 이미지

아 ydhoney님 감사합니다.