쉘 스크립트 내에서 쉘 스크립트가 마지막으로 실행된 시간을 찾으려고 합니다. 나는 시도했다:
ls -laru
ls -lart
하지만 이 모든 명령은 마지막 수정 시간과 마지막 액세스 시간을 제공합니다. 쉘 스크립트가 마지막으로 실행된 시간을 찾고 있습니다.
답변1
이 명령을 시도해 볼 수 있습니다 date
. 옵션 없이 날짜를 실행하면 다음 출력과 같이 시스템 날짜와 시간이 출력됩니다.
date
2001년 2월 8일 목요일 16:47:32 MST
날짜 출력을 파일에 저장하고 해당 파일에서 스크립트의 날짜를 확인할 수 있습니다. 스크립트의 마지막 실행 시간을 확인하려면 다음 파일을 확인하세요.
startTime=$(cat time.start)
//code to check the value of last run time goes here
date > time.start //save the time in default format
여기에는 다양한 날짜 형식이 있습니다.http://man7.org/linux/man-pages/man1/date.1.html
답변2
이 코드를 사용하여 문제를 해결할 수 있었습니다.
inode=$(find /path/ -maxdepth 1 -type f -iname '*error*.log' -printf '%T@ %i\n' | sort -rn | awk '{print $2;exit;}')
newest=$(find /path/ -maxdepth 1 -inum "$inode")