私の質問: LFTPにファイルのみが含まれていることを確認するには[〜#〜] and [〜#〜]directories--include
または--include-glob
を使用し、インクルードに含まれていないリモートのルートから追加のディレクトリをダウンロードしませんか?
一部のコンテキスト:
LFTPとミラーを使用してサイトのファイルをダウンロードしていますが、特定のファイルとディレクトリのみをダウンロードしたいのですが。そのため、リモートサーバーのルートから実行するためにLFTPにいくつかのインクルードとエクスクルードを与えました。
LFTPの担当者によると、インクルードを指定した場合に指示するすべてのファイルのみがインクルードされ、エクスクルードがインクルードルールに適用されるというのが私の理解です。これは、ルートディレクトリのファイルに最適で、含まれていないファイルはダウンロードされません。ただし、ルートに含まれるすべてのディレクトリをダウンロードします。
私の疑いは、--include
と--include-glob
の使用に問題があることです...両方(globまたはregex)の間で何を試しても、LFTPミラーをダウンロードできませんインクルードで指定した以外のディレクトリ。
これが私のbashスクリプトです(bashスクリプトの新機能)
#!/bin/bash
# Credentials
protocol="ftp" # ftp or sftp
Host="Host"
user="user"
pass="pass"
localcd="/path/to/localdir"
remotecd="/remotedir"
# Set up FTP URL
ftpurl="$protocol://$user:$pass@$Host"
# Default includes - helps only include core files in root in case there are other random files
includes="--include-glob wp-admin/*" # other dirs are still being downloaded with these three
includes+=" --include-glob wp-content/*"
includes+=" --include-glob wp-includes/*"
includes+=" --include ^wp-.*\.php$" # works just fine
includes+=" --include ^index.php$" # works just fine
includes+=" --include ^xmlrpc.php$" # works just fine
# Exclude hidden files/directories
excludes="--exclude-glob .*"
excludes+=" --exclude-glob .*/"
# LFTP sets
lftp_sets="set cmd:fail-exit yes;"
if [ "$protocol" == "ftp" ]
then
lftp_sets+=" set ftp:ssl-allow no;"
fi
# Run the LFTP
lftp -e "$lftp_sets
open '$ftpurl';
lcd $localcd;
cd $remotecd;
mirror --continue --only-newer --delete --verbose=3 --no-perms --parallel=8 $includes $excludes"
私はもう試した
includes="--include ^wp-.*/.**"
そして
includes="--include ^wp-admin/.*"
includes+="--include ^wp-content/.*"
includes+="--include ^wp-includes/.*"
そして、私が数えることができないほど多くのバリエーション。私がLFTPミラーについてグーグルで調べたものはすべて、深さ4ページに紫色のリンクがあります。 :(
操作の順序。
最初に除外が必要で、次にインクルードが必要です。
この例では、すべてを除外し、特定のフォルダーを含め、含まれているフォルダー内のファイルを除外します。
mirror --exclude '.*' --exclude '.*/' --include 'v*-stable/' -X '*.src.rpm'
あなたの場合
mirror --continue --only-newer --delete --verbose=3 --no-perms --parallel=8 $excludes $includes"