특정 디렉토리에서 일부 파일을 매일 다른 위치로 복사해야합니다. 변경 사항 만 복사하여 사용할 계획 rsync
입니다. 이러한 파일은 다음 이름 지정 규칙을 따릅니다.mysql-bin.*
내 명령은 다음과 같습니다
# rsync --update -raz --progress /var/lib/mysql/mysql-bin.* /dbdata/binarylog/
혼란은 전체 디렉토리 내용이 아닌 디렉토리에서 파일을 거의 복사하지 않기 때문에 *
필요한 파일 만 복사하는 데 사용 했습니다. 내 명령이 똑같이 달성되는지 올바른지 알고 싶습니다.
답변
괜찮아 보입니다. -z
전송 옵션을 사용하는 이유는 무엇입니까? 이 옵션은 일반적으로 느린 네트워크를 통해 원격 rsync 서버에 복사 할 때 사용됩니다. 이 경우 파일을 압축하고 즉시 압축 해제하여 아무런 이점없이 CPU 사용량 만 증가시킵니다.
-a
(아카이브) 옵션은 의미 -r
명시 적으로 명령 줄에서 그 지정할 필요가 없습니다 있도록 (재귀) 옵션을 선택합니다.
당신이 사용할 수있는 -n
옵션 (또는 --dry-run
당신의 명령을 확인 참조). 실제로 파일을 복사하지 않고 수행 할 작업을 보여줍니다. 실제로 어떤 일이 발생하는지 보려면 -v
옵션 (또는 --verbose
)을 사용해야합니다 .
따라서:
rsync -uanv /var/lib/mysql/mysql-bin.* /dbdata/binarylog/
드라 이런에서 파일이 올바르게 나열되면 다음을 제거하십시오 nv
.
rsync -ua --progress /var/lib/mysql/mysql-bin.* /dbdata/binarylog/