한 호스트에서 다른 호스트로 모든 파일과 폴더를 복사하고 싶습니다. 이전 호스트의 파일은 / var / www / html에 있으며 해당 서버에 대한 FTP 액세스 권한 만 있으며 모든 파일을 TAR 할 수 없습니다. FTP를 통해 이전 호스트에 정기적으로 연결하면 / home / admin 폴더로 이동합니다.
새 서버에서 다음 명령을 실행하려고했습니다.
wget -r ftp://username:password@ip.of.old.host
그러나 내가 얻는 것은 구성된 index.html 파일입니다.
FTP를 통해 wget을 재귀 적으로 사용하기위한 올바른 구문은 무엇입니까?
답변
시도 -m
에 대한--mirror
wget -m ftp://username:password@ip.of.old.host
답변
당신은 옳습니다, 당신은 끝에 후행 *이 필요합니다 :
wget -r ftp://username:password@1.2.3.4/dir/*
공유 서버의 경우 다음과 같이 사용할 수 있습니다.
wget -r ftp://1.2.3.4/dir/* --ftp-user=username --ftp-password=password
대부분의 공유 서버에는 username @ hostname과 같은 ftp-username이 있으므로 첫 번째 wget 명령이 작동하지 않고 두 번째 명령이 올바르게 작동합니다.
답변
wget 외에도 스크립트 모드에서 lftp 를 사용할 수도 있습니다 . 다음 명령은 지정된 원격 FTP 디렉토리의 컨텐츠를 지정된 로컬 디렉토리로 미러링하고 cron 작업에 넣을 수 있습니다.
lftp -c 'open <hostname>; user <username> <password>; mirror -e <remote-src-path> <local-dest-path>; quit'
디렉토리에 대한 재귀를 자동으로 처리하고 데이터를 다운로드 할 원격 소스 시작 디렉토리를 지정할 수 있습니다.
답변
‘curlftpfs-ftp 호스트를 로컬 디렉토리로 마운트’를 사용할 수 있으며 일단 마운트되면 ‘cp -r’과 같은 일반 파일 도구를 사용할 수 있습니다.
답변
FTP에서 재귀 적으로 데이터를 다운로드하려면 아래 wget 명령을 확인하십시오.
wget --user="<user-name>" --password="<password>" -r -np -nH --cut-dirs=1 --reject "index.html*" "<URL to download files>"
-r
: 재귀 적으로 다운로드합니다.
-np
: 부모 오름차순이 없습니다.
-nH
: URL과 같은 이름을 가진 디렉토리 생성을 비활성화합니다. 즉 abc.xyz.com
--cut-dirs
: 많은 수의 부모 디렉토리를 무시합니다. 이 옵션의 값은 명령에 따라 다릅니다.
위 명령을 실행하여 확인할 수 있습니다.
답변
재귀 깊이로 인해 -r 대신 -m을 사용하십시오.
http://www.editcorp.com/Personal/Lars_Appel/wget/wget_2.html#SEC11
답변
시도해야합니다 :
wget -r ftp://ftp:ftp@ftp.sunet.se/tst/