답변:
해결책은 FWIW입니다.
user@host bin]$ cat mkshaindir #!/bin/dash cd $1 sha512sum * >.sha512sum [user@host bin]$ find /var/ftpd -type d -print0 | xargs -0 -i mkshaindir {}
mkshaindir은 새로운 폴더 나 최근에 변경된 파일의 해시를 만들 필요가 있기 때문에 제 목적을 위해 별도의 구성 요소입니다.
나머지는 독자를위한 운동으로 남겨 둡니다.
참고 : sha512sum은 파일이 아닌 입력 (디렉토리, 블록 파일 등)에 대해 STDERR에 불만을 제기합니다.
해시 파일을 저장하면 해시가 무효화되므로 스크립트는 해시 파일 자체를 계산에 포함하지 않아야합니다.
게다가, 나는 find -exec
자원을 절약하기 위해 :
find /var/ftpd -type d -print0 ! -name .sha512sum -exec mkshaindir {} \;
.sha512sum
체크섬을 만들 때 또는 체크섬 파일을 확인할 때. 그러나 귀하의 유스 케이스에 대해서는 일반성이 중요하지 않다는 것에 동의합니다.