파일을 다른 폴더로 어떻게 이동할 수 있습니까? 단, 10분 동안 수정되지 않은 경우에만 가능합니까?

파일을 다른 폴더로 어떻게 이동할 수 있습니까? 단, 10분 동안 수정되지 않은 경우에만 가능합니까?

"10분"을 원하는 값으로 바꾸세요. 기본적으로 파일이 더 이상 커지지 않는 경우에만 파일을 이동하고 싶습니다. 명령줄이나 bash 스크립트에서 이 작업을 어떻게 수행할 수 있나요?

쉬운 솔루션이 cron선호됩니다.


세부:

  • 운영체제: CentOS
  • 지금까지 시도한 것: 어디서부터 시작해야 할지 모르기 때문에 아무 것도 하지 않았습니다.
  • 어떤 종류의 파일: 디렉터리에 있는 모든 파일

답변1

여기에 한 줄 명령이 있습니다:

find /path/to/dir1 -type f ! -mmin -10 -exec mv {} /path/to/dir2 \;

-10원하는 것으로 바꾸십시오 . 규칙은 다음과 같습니다.

+n     for greater than n,
-n     for less than n,
n      for exactly n.

답변2

방법은 다양합니다.

찾기 사용:

if find some_directory -mmin +10 | grep "^filename$" ; then
    mv filename somewhere_else
fi

또 다른 방법은 md5sum을 계산하고 이를 비교하는 것입니다.

touch .filename.md5

prev_md5=$(cat .filename.md5)
new_md5=$(md5sum filename)

if [ "$prev_md5" = "$new_md5" ] ; then
    mv filename somewhere_else
fi
echo "$new_md5" > .filename.md5

10분마다 실행하세요.

관련 정보