
次の名前のフォルダにあるローカルファイルを同期しようとしています。ストリートそして根.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]:
ユーザーのホームディレクトリにコピーします。