# [HS] Cron et Expect (Résolu)

## 404_crazy

Salut à tous,

Je cherche un moyen de lancer un script expect depuis mon cron.d... 

il semble que cron n'utilise pas de tty donc mon script expect ne peux pas fonctionner..

Voila le script:

```
[root@scratoo arduarium]# cat vanneoff.sh

 

#!/usr/bin/expect -f

  spawn screen /dev/ttyACM0 9600

  sleep 1

  send "vanneoff\r"

  expect eof
```

Ce script envoi des commandes sur mon arduino...Avez vous une solution ou une idée pour faire cela?Last edited by 404_crazy on Fri May 16, 2014 3:45 pm; edited 1 time in total

----------

## DuF

Es-tu sous systemd ? Car par contournement il permet de programmer des tâches (on trouve des tutoriaux sur internet). Cela pourrait répondre à ton problème de manière détournée.

----------

## 404_crazy

Merci de ta réponse DuF;

Donc j'ai fait des tests avec systemd:

J'ai créé un service :

```

[root@scratoo ~]# cat /usr/lib/systemd/system/test.service

[Unit]

Description=Service de test

After=tlp-init.service

[Service]

Type=oneshot

RemainAfterExit=no

ExecStart=/usr/local/bin/vanneoff.sh

[Install]

WantedBy=multi-user.target

```

J'ai tenté de le lancer:

```
# systemctl start test.service
```

...le script ne produit pas ces effets... voila le résultat d'un systemctl status test.service:

```

# systemctl status test.service

* test.service - Service de test

   Loaded: loaded (/usr/lib/systemd/system/test.service; disabled)

   Active: inactive (dead)

Dec 31 17:11:11 scratoo systemd[1]: Starting Service de test...

Dec 31 17:11:11 scratoo vanneoff.sh[1656]: spawn screen /dev/ttyACM0 9600

[b]Dec 31 17:11:12 scratoo vanneoff.sh[1656]: Please set a terminal type.[/b]

Dec 31 17:11:12 scratoo vanneoff.sh[1656]: vanneoff

Dec 31 17:11:12 scratoo systemd[1]: Started Service de test.

```

La ligne "Please set a terminal type." n’apparaît pas quand je lance le script depuis mon prompt ssh classique..

----------

## DuF

Bonjour,

Je n'ai pas forcément la réponse à ton problème de manière directe par contre j'ai remis la main sur le tutoriel (en français) que j'avais lu sur le sujet : Remplacer cron par systemd

En espérant que cela t'aide.

----------

## 404_crazy

Salut,

Merci pour la doc mais j'ai finalement trouvé une solution, j'ai fait en python.. c'est très simple avec pyserial:

```

[root@scratoo ~]# cat vanneon.py

import serial

ser = serial.Serial('/dev/ttyACM0', 9600)

ser.write("vanneon\r")

```

----------

