Hoe kan ek `scp` om 'n webwerf se` .htaccess` lêer te sit?
-
09-06-2019 - |
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?
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
.