백업하고 싶은 작은 파일이 많이 있는 웹 서버(저렴한 일반 PHP 호스트)에 액세스할 수 있습니다. FTP를 사용하여 액세스할 수 있지만 속도가 매우 느립니다. 를 사용하여 파일을 복사할 수 있지만 scp
먼저 수동으로 압축해야 합니다.-C
모든 파일 대신 보내기 전에 각 파일을 압축하는 매개 변수. 이상적으로는 평소처럼 사용하고 싶습니다 rsync
. 서버 관리자가 설치하지 않겠다고 말했습니다. 액세스 없이 설치 apt
하거나 sudo
휴대용 바이너리로 설치할 수 있나요 ?
우분투에서 rsync 바이너리를 찾았습니다https://download.samba.org/pub/rsync/binaries/ubuntu-20.04-x86_64/(통과하다https://rsync.samba.org/download.html). 설정한 후 chmod +x
다음 오류가 발생합니다.
[user@server]$ ./rsync
./rsync: error while loading shared libraries: libxxhash.so.0: cannot open shared object file: No such file or directory
누락된 라이브러리 파일을 한 번에 얻을 수 있는 영리한 방법이 있습니까?
서버가 Red Hat을 실행 중인 것 같습니다.
[user@server]$ cat /proc/version
Linux version 3.10.0-962.3.2.lve1.5.49.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Thu Mar 4 05:39:46 EST 2021
rsync
이 배포판의 사전 컴파일된 버전이 표시되지 않습니다 . 여기서 뭐하는거야? 라이브러리가 누락되어(아마도) 서버에서 해당 항목을 컴파일할 수 없습니다.
종속성
berndbausch가 댓글에서 요청한 결과 ldd rsync
는 필수 라이브러리를 표시해야 합니다.
linux-vdso.so.1 => (0x00007ffe589a3000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f6a681a5000)
libz.so.1 => /lib64/libz.so.1 (0x00007f6a67f8f000)
libpopt.so.0 => /lib64/libpopt.so.0 (0x00007f6a67d85000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f6a67b76000)
libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f6a6789d000)
libxxhash.so.0 => not found
libcrypto.so.1.1 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007f6a674cf000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f6a672ca000)
/lib64/ld-linux-x86-64.so.2 (0x00007f6a683ae000)
그래서 2개만 빠진 것 같습니다.
Rsync
로컬 머신에서 서버로
누군가 지금 삭제된 댓글에서 다른 방법이 아닌 ssh를 통해 로컬에서 서버로 rsync를 시도하라고 제안했습니다. 이것은 작동하지 않습니다. 그것은 줄 것이다이와 같은 오류:
rsync -zarvh [email protected]:/var/www/html/release /var/www/html/release
bash: rsync: command not found
답변1
rsync 및 누락된 필수 라이브러리의 압축을 풀어서 예를 들어 다음과 같이 하세요.$HOME/rsync
rsync
다음과 같이 실행하세요:
cd $HOME/rsync
LD_LIBRARY_PATH=. ./rsync
# or
export LD_LIBRARY_PATH=$HOME/rsync
$HOME/rsync/rsync
다운로드할 수 있는 누락된 라이브러리는 어디에서 찾을 수 있나요?
- 실행
rsync
하면 누락된 라이브러리가 표시됩니다. - 각 사람에 대해 다음 명령을 실행합니다.
dnf whatprovides '*/library.so'
- 모든 미러에서 필요한 RPM을 다운로드하세요.
- 예
rpm2cpio
를 들어cpio -idv -F file.cpio
RPM을 추출하려면 다음을 사용하십시오.
마지막으로, 다른 PC에서 rsync를 정적으로 컴파일하고 결과 파일을 서버에 다시 복사할 수 있습니다.