Rechercher : dans
Par :

Script shell pour copier de fichier

Dernière réponse le 14 avr 2008 à 14:19:08 gazelle8, le 11 avr 2008 à 12:20:10 
 Signaler ce message aux modérateurs

Bonjour,

Voilà, j'aimerais créer un script shell pour copier un répertoire dans le /home d'un utilisateur.
Ce script sera utilisé dans le cadre d'un site web.


Un utilisateur envoi ces fichiers, ils seront d'abord uploadé à la racine du site. Ensuite je veux les copier dans le /home du compte utilisateur sur la machine où sera heberger le site. En revanche, je veux éviter que le script demande un mot de passe pour la copie du fichier. Autrement dit, que le script s'exécute sans demander quoi que ce soit à l'utilisateur.

Première question :
Peut-on appellé un script shell dans une page web et peut-on lui mettre des arguments?
Si oui, quelle est la syntaxe pour l'envoi des arguments (il y en aura surement deux)

Deuxième question :
Ce script pourrait-il suffire pour ce que je veux faire?

ssh login@host cp –R repertoire /home


Merci d'avance de m'éclairer...

Meilleures réponses pour « script shell pour copier de fichier » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
[Shell] Créer un fichier vide VoirPour créer un fichier vide, il vous suffit de taper la commande suivante : > fichier Vous pouvez également utiliser la commande touch : touch fichier

1

jipicy, le 11 avr 2008 à 14:39:13

Salut,

Concernant les connexions sans mot de passe, il te faut passer par une authentification avec des clés privées ou utiliser "expect"...

Concernant la copie, autant privilégier la commande "scp" (cp à travers ssh) qui est toute indiquée pour ton histoire et dont la syntaxe serait :

scp  –r repertoire login@host:/home/user/
;-))
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.

Répondre à jipicy

2

lami20j, le 11 avr 2008 à 15:08:17

Salut,

ssh login@host cp –R repertoire /home 


sauf erreur de ma part cette commande permet d'excuter une commande sur la machine distante qui va copier un repretoire recursivement vers /home

donc s'il veut copier un fichier depuis la MachineDistante/repertoire courant vers MachineDistante/home/ ...

106485010510997108

Répondre à lami20j

3

gazelle8, le 12 avr 2008 à 15:24:30

Merci de vos réponses, je vais tester, Je vous tiens au courant si ca marche ou pas.

;)

Répondre à gazelle8

4

gazelle8, le 12 avr 2008 à 15:27:22

Euh...

En ce qui concerne l'appelle de mon script dans ma page PHP, comment je dois procéder?

Surtout pour l'envoi des deux arguments...

[EDIT]

Pour le php, je verrai plus tard...

Bon, mon script ne marche pas....
En effet, si le ssh ne marche que par rapport à une machine distante, je comprends.

Mais dans le cas où nous sommes sur la machine en question et qu'on veut juste se connecter sur le compte de l'utilisateur, comment faire?

utiliser la commande su?

J'ai déjà essayer mais ça ne fonctionne pas non plus.

Une idée??

merci d'avance.

Répondre à gazelle8

5

 gazelle8, le 14 avr 2008 à 14:19:08

Problème résolu, j'ai modifié les droits tout simplement, je n'avais pas à chercher compliquer alors que modifier les droit n'aura pas beaucoup de conséquences désastreuses dans mon cas.

@ plus!

Répondre à gazelle8