Question

Je suis actuellement en utilisant la commande suivante pour télécharger le contenu de mon site:

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

Cela fonctionne très bien sauf que la .fichier htaccess n'est pas envoyé.Apparemment, c'est parce qu'il est caché.

J'ai essayé d'ajouter une deuxième ligne pour envoyer le fichier explicitement:

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

Cela fonctionne très bien sauf que maintenant je dois entrer mon mot de passe deux fois.

Des idées sur comment faire de cette déployer avec seulement 1 ou 0 les entrées de mon mot de passe?

Était-ce utile?

La solution

Il vous suffit de combiner les deux commandes:

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

Si vous voulez 0 les entrées de votre mot de passe vous pouvez définir jusqu' l'authentification par clé publique pour ssh/scp.

Autres conseils

Certaines des informations de base:l' * générique ne correspond pas à soi-disant "point-files" (c'est à direles fichiers dont le nom commence par un point).

Certains interpréteurs de commandes vous permettent de définir une option, de sorte qu'il va match point-fichiers, cependant, en faisant cela demande beaucoup de douleur:maintenant * correspond aussi à la . (le répertoire courant) et .. (le répertoire parent), ce qui n'est généralement pas ce qui est prévu et qui peuvent être tout à fait surprenant!(rm -rf * supprimer le répertoire parent est probablement pas la meilleure façon de commencer une journée ...)

Un mot d'avertissement - n'essayez pas de match en pointillés fichiers (comme .htaccess) avec .* - ce malencontreusement correspond également à .., pour copier tous les fichiers sur le chemin d'accès au répertoire racine.Je l'ai fait une fois (avec rm, pas moins!) et j'ai eu à reconstruire le serveur parce que j'avais foiré avec /var.

@jwmittag:

Je viens de faire un test sur Ubuntu et .* les matchs quand je l'utilise cp.Voici un exemple:

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

Si .* n'a pas de match .., puis d ne devrait pas être en b.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top