2008-08-29 10 views
2

Ich bin derzeit mit dem folgenden Befehl meiner Website Inhalte hochladen:Wie kann ich mit `scp` die` .htaccess` Datei einer Webseite bereitstellen?

scp -r web/* [email protected]:site.com/ 

Dies funktioniert mit Ausnahme groß, dass die .htaccess-Datei wird nicht gesendet. Vermutlich liegt das daran, dass es versteckt ist.

Ich habe versucht, eine zweite Zeile hinzufügen explizit um die Datei zu senden:

scp -r web/.htaccess [email protected]:site.com/.htaccess 

Dies funktioniert gut, außer jetzt muss ich zweimal mein Passwort eingeben.

Haben Sie sich Gedanken darüber gemacht, wie Sie diese Deployment mit nur 1 oder 0 Passwörter durchführen?

+1

Verwenden Sie rsync statt scp, so dass nur neuere Dateien kopiert werden, spart Zeit :) –

Antwort

3

Ein Wort der Vorsicht - nicht versuchen, mit .* gepunkteten Dateien (wie .htaccess) entsprechen - dies unzweckmäßig passt auch .. und beim Kopieren alle Dateien auf dem Weg in das Stammverzeichnis führen würde. Ich tat dies einmal (mit rm, nicht weniger!) Und ich musste den Server neu aufbauen, weil ich mit /var verwirrt hatte.

@jwmittag:

Ich habe gerade ein Test auf Ubuntu und .* Streichhölzer, wenn ich cp verwenden. Hier ein Beispiel:

[email protected]:/# mkdir a 
[email protected]:/# mkdir b 
[email protected]:/# mkdir a/c 
[email protected]:/# touch a/d 
[email protected]:/# touch a/c/e 
[email protected]:/# cp -r a/c/.* b 
cp: will not create hard link `b/c' to directory `b/.' 
[email protected]:/# ls b 
d e 

Wenn .* nicht .. übereinstimmen, dann d sollte nicht in b sein.

+0

Ich spreche über die ' * 'Wildcard ganz von selbst. Es stimmt nicht mit Dateien überein, die mit einem Punkt beginnen. '. *' wird alle Dateien abgleichen, die mit einem Punkt beginnen, einschließlich der speziellen Verzeichnisse '.' und '..'. –

4

Einige Hintergrundinformationen: Der * Platzhalter passt nicht zu so genannten "dot-files" (d. H. Dateien, deren Name mit einem Punkt beginnt).

Einige Shells können Sie eine Option setzen, so dass es wird Spiel Dot-Dateien jedoch, dass dabei für eine Menge Schmerzen zu fragen: jetzt * auch . übereinstimmen (das aktuelle Verzeichnis) und .. (das übergeordnete Verzeichnis), was normalerweise nicht beabsichtigt ist und ziemlich überraschend sein kann! (rm -rf * Löschen des übergeordneten Verzeichnisses ist wahrscheinlich nicht der beste Weg, um einen Tag zu starten ...)