Est-il possible de créer un script qui copie les fichiers d'un lecteur Unix sur un lecteur Windows?Comment puis-je faire un script de copie de fichiers d'Unix vers Windows?
Répondre
Je le fais manuellement tout le temps en utilisant une copie sécurisée (SCP). SCP est déjà installé sur la plupart des machines Unix. Sur mon PC, j'ai installé PuTTY qui est une application de terminal sécurisé pour Windows et contient également un utilitaire de copie sécurisé. Lorsque vous effectuez la copie sécurisée manuellement à partir de la ligne de commande Windows, vous placez votre nom d'utilisateur Unix dans la commande de ligne de commande, mais vous devez ensuite taper votre mot de passe à l'invite, donc c'est interactif. Mais j'ai aussi pensé à le faire à partir d'un script ou d'un fichier séquentiel. Dans ce cas, vous aurez besoin de create and install private and public keys sur les machines appropriées. J'ai créé les clés appropriées et les ai installées sur les machines de Windows et d'Unix et puis j'ai manuellement exécuté la copie de sécurité de ligne de commande de Windows encore et il a fait pas me demande mon mot de passe cette heure. C'est donc une façon d'accomplir votre tâche. Je suis sûr qu'il y a beaucoup d'autres façons, cependant.
Oui, tant que le système d'exploitation sur lequel le script s'exécute peut lire à partir du lecteur Unix et écrire sur le lecteur Windows. Puisque ceci est étiqueté vbscript, je suppose que vous êtes sous Windows alors vous devriez regarder quelque chose comme this pour avoir accès aux systèmes de fichiers Unix pour Windows (bien que ce soit un pilote Linux ext). Ensuite, il exécute simplement une fonction de copie standard pour terminer votre tâche.
Étant donné que vous avez une balise Samba, parlez-vous de monter un partage réseau à partir d'une machine Unix sur votre machine Windows? Si tel est le cas, il est simplement traité comme un lecteur réseau normal et vous pouvez copier tout ce que vous avez des autorisations via le partage.
J'utiliserais l'outil expect.
Voici un exemple, comment télécharger
/local/path/to/file
à
\\HOST\SHARE\remote\path\to\file
authentification avec domain\user
en utilisant passwo rd password
:
expect <<<EOF
set timeout 10
spawn smbclient //HOST/SHARE "-Udomain\\user%password"
expect {
"smb: \\\\\\\\>" {
send "cd /remote/path/to\r"
expect {
"NT_STATUS_OBJECT_NAME_NOT_FOUND" {exit 1}
"smb: *>" {
set timeout -1
send "put /local/path/to/file file\r"
expect {
"putting file " {
expect "smb: *>" {exit 0}
}
"smb: *>" {exit 1}
}
}
}
}
}
# Timeout
exit 1
EOF
Vous vivez, vous apprenez. Jamais entendu parler de cet outil. – yegorich
ai-je besoin de mastic pour cela? – CheeseConQueso
Oui. Bien qu'il existe probablement d'autres produits pour Windows qui fournissent un utilitaire SCP. PuTTY est assez populaire, cependant. Et libre. –