Vra

Ek is tans met behulp van die volgende opdrag aan my site inhoud oplaai:

scp -r web/* user@site.com:site.com/

Dit werk baie goed, behalwe dat die htaccess lêer nie gestuur word. Vermoedelik, dit is, want dit is verborge.

Ek het probeer om die toevoeging van 'n tweede lyn om die lêer uitdruklik stuur:

scp -r web/.htaccess user@site.com:site.com/.htaccess

Dit werk baie goed, behalwe nou moet ek my wagwoord twee keer betree.

Enige gedagtes oor hoe om te maak hierdie ontplooi met net 1 of 0 inskrywings van my vergeet?

Was dit nuttig?

Oplossing

kombineer Net die twee opdragte:

scp -r web/* web/.htaccess user@site.com:site.com/

As jy wil 0 inskrywings van jou wagwoord wat jy kan opstel publieke sleutel verifikasie vir ssh / scp.

Ander wenke

Sommige agtergrond inligting:. Die * wildcard kom nie ooreen met die sogenaamde "dot-lêers" (dit wil sê lêers wie se naam begin met 'n dot)

Sommige doppe toelaat om 'n opsie stel, sodat dit sal wedstryd dot-lêers, maar om dit te doen is vra vir 'n baie pyn: nou * sal ook . pas (die huidige gids ) en .. (die ouer gids), wat gewoonlik nie wat bedoel is en kan nogal verbasend wees! (rm -rf * verwydering van die ouer gids is waarskynlik nie die beste manier om 'n dag te begin ...)

'n woord van waarskuwing - moenie probeer om stippellyn lêers te pas (soos .htaccess) met .* - hierdie wedstryde ongemaklik ook .., en sal lei tot die kopiëring al die lêers op die pad na die hoofdmap. Ek het dit een keer (met rm, nie minder nie!) En ek moes die bediener te herbou, want ek met /var het deurmekaar.

@jwmittag:

Ek het net 'n toets op Ubuntu en .* wedstryde wanneer ek gebruik cp. Hier is 'n voorbeeld:

root@krash:/# mkdir a
root@krash:/# mkdir b
root@krash:/# mkdir a/c
root@krash:/# touch a/d
root@krash:/# touch a/c/e
root@krash:/# cp -r a/c/.* b
cp: will not create hard link `b/c' to directory `b/.'
root@krash:/# ls b
d  e

As .* nie .. het pas, dan d moet nie in b.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top