2017-11-28 16 views
0

현재 시간에 날짜와 이름을 업데이트하는 방법 :이나는 새로운 쉘의 순서로 사용하여 매일 로그인 할 수있을 stdbuf 시작하려고

stdbuf -i0 -o0 -e0 /.../my_dir/watchdog_foo >> /.../my_dir/log_foo_`date '+%F'` & 

을, 내가 원하는 것 테스트를 위해, 나는이 다른 순서로 시작했습니다

log_foo_2017-11-28 
log_foo_2017-11-29 
... 

: 한

stdbuf -i0 -o0 -e0 /.../my_dir/watchdog_foo >> /.../my_dir/log_foo_`date '+%R'` & 

보려고를 로그 WA 경우 초마다 만들어졌지만 일어난 것은 아닙니다.

log_foo_18:05 
log_foo_18:06 
... 

어떻게 내 목적을 달성하기 위해이 명령을 수정할 수 있습니다 : 제가 미쳐 있었다 whileas 로그는 같은 파일에 모든 시간을 쓰고 있었다?

답변

0

이 명령을 실행하면 date +%R이 셸에 의해 현재 시간으로 확장됩니다. 그런 다음 다시 업데이트되지 않으므로 로그가 동일한 파일로 리디렉션됩니다. 원하는 동작을 얻으려면 매일 스크립트를 다시 실행하여 업데이트 된 날짜를 얻어야합니다. cron과 같은 도구를 사용하여 매일 밤 자정에 스크립트를 실행하여 이전 프로세스를 종료하고 새 날짜로 다시 실행할 수 있습니다.

logrotate 같은 도구를 활용할 수도 있습니다.