cp
나는 작은 스크립트를 사용하여 프로필 목록을 다른 장치에 복사(사용)합니다. 이 작업을 수행하기 전에 마지막으로 파일이 수정되었는지 빠르게 확인하여 장치의 리소스를 소모하는 방법을 알고 싶습니다.
답변1
config
장치의 디렉터리에 해당하는 로컬 디렉터리가 있고 config
로컬에서만 변경한 다음 이를 장치와 동기화한다고 가정하면 이는 rsync
동기화를 수행하는 데 좋은 도구입니다.
로컬 디렉터리를 장치 디렉터리에 동기화합니다.
$ rsync -av config/ [email protected]:path/to/config/
config
로컬 디렉터리에 더 이상 존재하지 않는 장치의 파일을 삭제하려면 --delete
다음에 플래그를 추가하세요 rsync
.
$ rsync -av --delete config/ [email protected]:path/to/config/
장치의 디렉터리를 로컬 디렉터리로 바꾸고 백업 config/
합니다 (질문에서 어느 방향으로 가고 싶은지 약간 불분명함).[email protected]:path/to/config/
config
답변2
if ! diff -q file1 file2 > /dev/null 2>&1;
then
echo "Files are changed"
else
echo "Files not changed"
fi
답변3
일반적으로 diff/cmp
문제가 없지만 파일이 큰 경우 비교하는 데 시간이 걸릴 수 있습니다. 더 빠른 방법은 타임스탬프를 비교 stat
하거나 체크섬을 비교하는 것 입니다.md5sum