사용자 정의 로그 파일 타임스탬프가 있는 Bash 스크립트

사용자 정의 로그 파일 타임스탬프가 있는 Bash 스크립트

이 간단한 스크립트가 있습니다.

#!/bin/sh
TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"`
echo "$TIMESTAMP" /etc/init.d/nginx restart >> /usr/local/nginx/logs/mylog.log 2>&1

그러나 사용자 정의 로그 파일에만 시간이 인쇄되고 nginx는 다시 시작되지 않습니다. 내가 무엇을 놓치고 있나요? 어딘가 간단하다고 생각하지만 알아낼 수 없습니다. 어떤 조언, 제안, 의견이라도 보내주셔서 감사합니다. 미리 감사드립니다!

답변1

이 명령문은 echo "$TIMESTAMP" /etc/init.d/nginx restart현재 시간과 단어 /etc/init.d/nginx합계를 restart로그 파일에 기록합니다.

nginx를 다시 시작하려면 당연히 별도의 명령으로 수행해야 합니다.

echo "$TIMESTAMP" >>/usr/local/nginx/logs/mylog.log
/etc/init.d/nginx restart >>/usr/local/nginx/logs/mylog.log 2>&1

또는,

{ echo "$TIMESTAMP"; /etc/init.d/nginx restart; } >>/usr/local/nginx/logs/mylog.log 2>&1

관련 정보