다음 이름의 폴더에 있는 로컬 파일을 동기화하려고 합니다.거리그리고뿌리.gitlab-ci.yml
작업이 성공적으로 실행되었지만 내 FTP 루트 폴더는 여전히 비어 있습니다 .
에만 액세스할 수 있는 ftp 계정을 만들었습니다 httpdocs
. 내 파일을 httpdocs에 복사하고 싶습니다.
이 코드를 사용하여 파일을 복사하고 있습니다.
rsync -avh --delete --rsh="sshpass -p $PROD_FTP_PASS ssh -o StrictHostKeyChecking=no " ./dist/ [email protected]/
이 명령은 다음을 기록합니다.
sending incremental file list
created directory [email protected]
./
android-chrome-192x192.png
4.69K 100% 0.00kB/s 0:00:00
4.69K 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=18/20)
android-chrome-256x256.png
6.41K 100% 6.12MB/s 0:00:00
6.41K 100% 6.12MB/s 0:00:00 (xfr#2, to-chk=17/20)
app.css
2.06K 100% 1.97MB/s 0:00:00
2.06K 100% 1.97MB/s 0:00:00 (xfr#3, to-chk=16/20)
sent 62.95K bytes received 423 bytes 126.74K bytes/sec
total size is 61.64K speedup is 0.97
Job succeeded
나는 사용 dist/
하거나 dist
차이를 만든다는 것을 읽었습니다. 폴더가 아닌 해당 파일을 복사하고 싶습니다. 비록 나는 이 파일들을 내 ftp 계정의 루트 디렉토리(예: )에 넣고 싶습니다 httpdocs/
.
내가 무엇을 잘못했으며 내 FTP 계정을 사용하여 파일을 볼 수 없기 때문에 파일이 지금 어디에 복사되어 있습니까?
또 다른 오류 메시지:
데이터를 임의의 경로로 보내려고 하면 다음 오류가 발생합니다.
$ rsync -avh --progress --delete --rsh="sshpass -p $PROD_FTP_PASS ssh -o StrictHostKeyChecking=no " ./dist [email protected]/httpdocs/yellowstorm
sending incremental file list
rsync: mkdir "/builds/fyd/fyd-presite/[email protected]/httpdocs/yellowstorm" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(674) [Receiver=3.1.1]
ERROR: Job failed: exit code 1
답변1
rsync의 원격 소스/대상 구문은 [<user>@]<host>:[path]
최소한 이것이 example.com:
중요 해야 합니다 :
.
원격 장치는 그렇지 않으므로 :
rsync는 파일을 로컬 디렉터리(빌드 계획에서 ls를 실행하여 확인할 수 있음)에 복사합니다. 대신 원격 장치의 루트(서버 루트)에 복사하는 디렉터리를 [email protected]
사용해야 합니다. [email protected]:/
ftp 루트(ssh를 사용하고 있으므로)를 사용하거나 [email protected]:
사용자의 홈 디렉터리에 복사하세요.