Antworten:
Es gilt die erste Übereinstimmungsregel, also schließen Sie ein, .htaccessbevor Sie ausschließen .*.
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
Dies kopiert .htaccessauf jeder Ebene. Ich weiß nicht, womit Sie beabsichtigt haben ./.htaccess. Wenn Sie eine Datei nur im Stammverzeichnis der Kopie finden möchten, starten Sie das Muster mit einem /. Wenn Sie nur den Stamm verwenden möchten .htaccess, können Sie ihn nicht einfach verwenden --include='/.htaccess' --exclude='.*', da die nicht verwurzelte Regel hier Vorrang hat. Sie müssen etwas Komplizierteres tun:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
Weiterführende Literatur: Grundprinzipien für Rsync-Filter .
--includeerste zu setzen, aber das "./" vor dem "./.htaccess" war das, was es tötete.