当サイトは GMO Digirock のレンタルサーバーを使って動かしている。トラブルを考えて2アカウントを別サーバーで。普段動かすサーバーから、予備サーバーに日次で内容の同期をしている。これによって、普段のサーバーがダウンしても、すぐに予備に切替え可能にしてます。
ここのサーバーにも種類がいろいろとあって、最近までは、valueseverというのを2アカウント借りてたのですが、新らしいサービスのcoreserver V2というのが大して料金変わらず高性能のようなので1アカウントをこちらに移しました。
同期の組み合わせが、valueserver ⇒ valueserver から coreserver ⇒ valueserver に変わったわけです。最初、引っ越し作業中に、valueserverからcoreserverにコピーをしようと、いろいろと試したがrsyncコマンドが使えない。更に問い合わせているうちに判ったのが、v ⇒ c のssh接続はできるけど、逆ができないとの事、原因は判ったけれど今すぐに直せるものでないとのサポートの回答。
サーバーにも同期させるツールはついているのだが、どうも使いにくい。そこで調べたら、lftpコマンドというのがあると判りました。早速、使ってみて、はまりました。rsync は違う名前ディレクトリーの中身を同期できるのに対して、lftpは同じ名前のディレクトリーの中身を同期させる、同期先に同じ名前のディレクトリーがないと同期元と同じ名前のディレクトリーを作って中身を同期させようとするのです。
そして、valueserverとcoreserverはディレクトリー構成が異なっているのです。valueserverでは、サイトのドキュメントルートは/virtaul/アカウント名/public_html/サイト/ になっているのに対して、coreserverでは、/home/アカウント/domains/サイト/public_html/ になってます。rsyncのつもりで、lftpを使って、coreserverからvalueserverにドキュメントルートの同期をとろうとすると、/virtaul/アカウント名/public_html/サイト/public_html/なんて構成ができてしまいます。
で、結局どうしたかというと、coreserverのpublic_htmlにシンボリックリンクをかけて、/home/アカウント/domains/サイト/サイト/というディレクトリーを使ってlftpを動かして目的達成しました。判ってから書くと簡単だけど、ググっても、このあたり見つかりませんでした。
(追記 2021-3-19)
[コアサーバーV2で出来ないこと]
(1) V2サーバーからバリューサーバーへのssh接続ができない。バリューサーバー相互、バリューサーバーからV2サーバーのssh接続は出来る。
(2) V2サーバーでは、バリューサーバーと異なり、ディレクトリーにより違うバージョンのPHPを動かすとが出来ない。ドメインあるいはサブドメインが違えば可能。