다음과 같은 간단한 bash 스크립트가 있습니다.
#!/bin/sh
TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"`
echo "$TIMESTAMP restart" /etc/init.d/nginx restart > /usr/local/nginx/logs/restart.log 2>&1
내 restart.log에 다음 출력이 생성됩니다.
2020-04-17 18:22:30 Restarting nginx (via systemctl): nginx.service.
그러나 다음에 스크립트를 실행하면 출력 줄이 제거되고 그 대신 마지막 다시 시작의 줄만 남게 됩니다. 항상 하나의 스레드만 있습니다. 이것은 여러 줄이 아닌 "한 줄" 스크립트인 것 같습니다.
이제 문제는 다음과 같이 이전 항목을 모두 유지하는 방법입니다.
2020-04-17 18:22:30 Restarting nginx (via systemctl): nginx.service.
2020-04-18 19:12:30 Restarting nginx (via systemctl): nginx.service.
2020-04-19 20:02:30 Restarting nginx (via systemctl): nginx.service.
나는 이것이 간단해야 한다는 것을 알고 있지만 그것을 알아낼 수 없습니다. 모든 의견/의견/제안은 크게 감사하겠습니다. 미리 감사드립니다!
답변1
안녕하세요, 당신은 o/p를 다루고 있습니다:
다음 내용을 첨부해 주세요.
echo "$TIMESTAMP restart" /etc/init.d/nginx restart >> /usr/local/nginx/logs/restart.log 2>&1