Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fcron et expect

2 réponses
Avatar
FlatManiac
Bonjour,

J'ai un problème avec un script que je veux lancer automatiquement avec
fcron

Ce script fonctionne bien lorsque je le lance à partir d'un terminal
=> sh /etc/script/mon_script

mais il ne fonctionne pas en tache programmée

extrait de ma fcrontab :
-----------------------------------------------------------
SHELL=/bin/sh
PATH=/usr/sbin:usr/bin:/sbin:/bin

&runas(root) 50 10 * * * /etc/script/mon_script
-----------------------------------------------------------

J'ai fait des tests, le script se lance bien avec "fcron" mais je
n'obtiens pas le résultat escompté.

Ce script me sert à faire un transfert de fichier sécurisé avec "scp",
il y a donc besoin d'une interaction entre ma machine et le serveur
distant. Pour cela j'utilise "expect" et un script qui va avec...

mon_script :
-----------------------------------------------------------
#!/bin/sh

PATH=/usr/sbin:usr/bin:/sbin:/bin

DATE_SUFFIX=`date "+%Y-%m-%d"`

OUTFILE=nom_fichier-$DATE_SUFFIX.sql.gz

cd /repertoire_sauvegarde

expect /etc/script/script_expect

chgrp toto *.sql.gz
chmod g+rwx *.sql.gz
mv -f nom_fichier_distant $OUTFILE 2>/dev/null
-----------------------------------------------------------


script_expect :
-----------------------------------------------------------
#!/usr/bin/expect -f

spawn /usr/bin/scp -rp seveur:/repertoire/* /repertoire_sauvegarde/;
sleep 1;
expect "serveur's password:";
send "mot_de_passe\n";
interact
-----------------------------------------------------------

D'après les tests que j'ai effectués, c'est "script_expect" qui ne
fonctionne pas normalement quand il est lancé par "fcron".

Si vous avez une/des idée(s), je suis preneur, parce que là je sèche...

Merci
--
Christophe Desmerger

2 réponses

Avatar
Luc.Habert.00__arjf
Je ne réponds pas directement à ta question, mais je pense que tu ferais
mieux d'utiliser des clefs ssh pour l'authentification, ce qui te
permettrait de te passer de expect.
Avatar
FlatManiac
Je ne réponds pas directement à ta question, mais je pense que tu ferais
mieux d'utiliser des clefs ssh pour l'authentification, ce qui te
permettrait de te passer de expect.


Si j'avais la main sur le serveur distant, c'est ce que je ferai...

--
Christophe Desmerger