![사용자 정의 로그 파일 타임스탬프가 있는 Bash 스크립트](https://linux55.com/image/171459/%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%EB%A1%9C%EA%B7%B8%20%ED%8C%8C%EC%9D%BC%20%ED%83%80%EC%9E%84%EC%8A%A4%ED%83%AC%ED%94%84%EA%B0%80%20%EC%9E%88%EB%8A%94%20Bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
이 간단한 스크립트가 있습니다.
#!/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