Crontab : rien ne s'écrit, rien ne se lance

Bonjour à vous 2,

En fait je crois comprendre que c’est une commande qui ouvre une session graphique, et en général la crontab ne gère pas par défaut celles-ci.
Pourquoi ne pas créer plutôt un lanceur au démarrage de la session graphique ?
J’ai plus la commande en tête, mais je sais que @Nabla fourni souvent le lien pour ceci.

Dans ce cas, il faut écrire un petit script qui boucle indéfiniment toutes les 5 minutes du style

#/bin/bash 

while true
do cvlc /home/pi/Desktop/MUSIQUE/wolfetones/playlist.m3u
     sleep 300
     killall cvlc
done

A+

Yo,
Je viens de terminer mon test avec succès sans script
On verra pour la session graphique après :wink:

mkdir PartageZic

sudo apt-get update && sudo apt-get install samba samba-common samba-common-bin winbind cifs-utils

sudo mount -t cifs -o user=nabla //192.168.0.21/Zic /home/pi/Partage
(je monte mon dossier Musique du Mac vers le Rpi en copie virtuelle

J’ai crée une liste de lecture avec VLC en mode aléatoire avec un album des Beastie Boys + 1 chanson de Antoine (je trouvais ça drôle comme mélange)

sudo nano /etc/crontab

*/5 * * * * pi cvlc /home/pi/Desktop/pi-test.m3u

Ma musique s’est lancée seule à 17h40 :slight_smile:

Ça fonctionne bien ; j’ai redémarré et ça s’est relancé à 17h50.
Le truc drôle, c’est que j’ai 2 morceaux différents en même temps suite à la relance à 17h55 par dessus :smiley:

Edit :
Purée : 3 instances en même temps, ce n’est plus de la musique …
Mais on est sûr que ça fonctionne nickel !

Sinon, pour passer par le système du lancement lors du démarrage de l’interface graphique, c’est :
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
On y ajoute (à la fin)
sudo mount -t cifs -o user=XXX,password=XXX //192.168.0.21/Zic /home/pi/Partage
@cvlc /home/pi/Desktop/liste.m3u

Du coup, tout est automatique :

  • Au démarrage, montage du dossier distant “Zic” dans “Partage”
  • Et, aussitôt, démarrage de la musique.

@nantesweb

Du coup,
on sait que ça fonctionne
Tu peux vérifier que tu y arrives chez toi ?
Ensuite, faut voir ce que tu veux faire.
Pourquoi pas un script qui lance la piste Rock si on appuie sur un bouton rouge ; la piste Punk avec le bouton noir et la discographie des Doors avec le bouton blanc ? :wink:

++

Oulalala ça va trop vite. Désolé j’étais absent à la dernière réponse et indépendamment étant nouveau je n’avais plus le droit de poster de nouveau vendredi !

Je te remercie tu temps que tu as pris pour tester mon projet. Cependant on va revenir à la base car je suis perdu.

J’ai installé Raspbian en mode graphique évidemment avec VLC de préinstallé. Pour faire les commandes Crontab j’ouvre une fenêtre de terminal, je travaille pas sur un Raspbian en ligne de commande.

Quand je lance un crontab (d’ailleurs lequel choisi les trois ont l’air différent) :
1/ soit par sudo nano /etc/crontab/
2/ soit par sudo crontab -e
3/ soit par crontab -e (tout court)

et que je met une ligne aussi simple que :
*/1 * * * * cvlc /home/pi/farewell.mp3

Avec ou sans pi ou root rien ne se lance jamais.

Donc partant de là, le crontab ne marche pas et je ne peux pas envisager autre chose.

La création d’un dossier partagé avec tout le monde qui se créé automatiquement ou synchronise, c’est encore la lune. J’aimerai faire marcher les choses ligne par ligne pour démarrer.

Yo,
C’est la différence entre Rennes et Nantes ; à Rennes, on va plus vite :wink:

Bon, blague (nulle) à part, on va y aller doucement.

Que donne un sudo nano /etc/crontab sur ton Rpi ?

Tu me fais un [copier/coller] ici
(pour coller dans le Terminal, faut faire “Maj”+“ctrl”+“c”)

Et on peux essayer de faire cet ajout :
*/5 * * * * pi cvlc /home/pi/Desktop/fichier.mp3
(en remplaçant fichier.mp3 par une musique de ton choix que tu places sur le bureau et qui fait moins de 5 minutes).
Normalement, toutes les 5 minutes, ça se lancera, soit à (par exemple, si tu démarres à 13h26), 13h30, 13h35, 13h40, …

++

Très drôle ! Je pense surtout qu’il y a une question d’âge ;°)

Alors mon fichier donne la même chose que le tient plus haut.

Plus la ligne :
*/2 * * * * pi cvlc /home/pi/farewell.mp3

Et ça ne lance rien toutes les deux minutes.

j’ai pas mis sur le bureau car je ne sais pas s’il faut mettre Bureau ou Desktop (quand je lance en manuel en mettant un chemin avec Bureau ça marche, mais dans le crontab je sais pas).

Faut pas mettre de point virgule à la fin ?

Tu peux réinstaller Raspbian au propre pour bosser sur du clair et net ?
Genre sur une clef USB.
(âge ? presque 45 pour moi :wink: )

En fait je l’ai déjà fait trois fois donc je crois pas que cela soit ça. (réinstallé à partir du menu de démarrage)

Plus jeune d’un an (y a un mois).

L’heure est pas à l’heure : ça doit pas poser problème pour des tâches cyclique, non ?

Je relance :

Crontab ne lance toujours rien par la porte ou par la fenêtre.

J’ai l’impression que j’installe pas la même version que tout le monde.

Aucune programmation ne marche même avec une installation à neuve. Les lignes de commandes marchent mais dans le Crontab rien.

Rien trouvé de similaire en ligne, j’en viens à regrette ubuntu ou le simple “sudo crontab -e” fonctionnait :sob:

Yo,

Tu fais bien
sudo nano /etc/crontab
et pas sudo nano etc/crontab ???
La différence est ÉNORME !

Sinon, tu peux tjrs coller Ubuntu Mate, mais pas sûr que cela soit mieux.

Perso, je n’ai que des postes Linux (+ 1 Mac) depuis 15 ans et je suis passé à LinuxMint sur les PC avec Raspbian sur les Rpi sans souci.
En simplifiant :

  • Ubuntu est basé sur Debian.
  • Raspbian est basé sur Debian.
    Bref, c’est souvent très très proche.

Dommage, je ne vais jamais sur Nantes, sinon, je serais passer voir le souci.
Il n’y a pas de raison.
Tu as forcément un crontab comme les autres :wink:

++

Bonjour,

L’editeur de crontab pouvant être particulier et pour éviter des erreurs. Voici comment je conseille de procéder pour créer/editer/modifier/valider une crontab.

mkdir ~/cron
cd ~/cron
echo "* * * * * date > /tmp/date.txt" > $USER.crontab 
crontab $USER.crontab

Vérifier que toutes les minutes le fichier /tmp/date.txt est modifié.

Ensuite pour apporter des modifications à ce fichier procéder comme suit

  • Copier le contenu de la crontab courante
    crontab -l > ~/cron/$USER.crontab

  • Editer le fichier

  • Installer le fichier en crontab
    crontab ~/cron/$USER.crontab

  • Vérifier que la crontab est écrite
    crontab -l

@nabla, le fichier /etc/crontab est la crontab du système, elle est différente de celle de root et de tous les utilisateurs qui se trouvent dans /var/spool/cron/crontabs. Attention ces fichier de doivent jamais être modifiés à la main. Le fait de passer par la commande crontab vérifie une certaine intégrité du fichier.

A+

@nabla : oui c’est bien /etc et non etc

Je vais essayer mais je trouve hallucinant que sur une commande aussi simple sur une installation neuve il faille trouver un truc pour contourner le problème ! Je veux pas dire que ça m’énerve, mais… ça m’énerve.

@JELOPO : merci pour ton aide

Pour le script :
mkdir ~/cron cd ~/cron echo “* * * * * date > /tmp/date.txt” > $USER.crontab crontab $USER.crontab

$USER : je met pi ou je laisse $USER ?

Je vous trouve bien compliqué, un bête crontab -e (qui ouvre le crontab de l’utilisateur, donc si on veut le crontab de root on fait un sudo crontab -e) et normalement on arrive directement dans le bon fichier…

Je pense que repartir sur une install fraiche ne ferait pas de mal, parce que c’est une fonction basique, quelque chose doit merdouiuller quelque part

@Gpapig
Sauf que crontab -e ou sudo crontab -e ou sudo nano crontab et tout ce que vous voulez, ça ne fais rien. Même avec 4 réinstalle fraîche.

Si je met un
*/2 * * * * cvlc /home/pi/opus42.mp3

Il enregistre mais il ne se passe jamais rien.

C’est bien ça qui m’énerve. Le Crontab se fout complètement de ce que j’enregistre il en fait rien. Si je tape les même lignes de commandes pour lancer les actions dans un Terminal, pouf ça marche.

J’ai lu qu’il fallait lancer un autorun si on voulait lancer des programmes dans le crontab en mode graphique, ce ne serait pas là le problème ?

Je peux me tromper mais je pense que ta sd est corrompue/défectueuse, le cron est vraiment une fonction basique et doit fonctionner out of the box.

Peux tu tester avec une autre SD ?

C’est la SD neuve de base vendu avec le pack. Il y a le logo Raspberry dessus.

Bonjour,

Rien ne dit que cette commande fonctionne en crontab ! Si elle a besoin de variables d’environnement graphique par exemple ça ne fonctionne pas par défaut en crontab. Il faut savoir que le shell de la crontab est restreint. Pour valider une crontab il faut commencer par vérifier des commandes simples (date ou echo dans un fichier).

Pour ma proposition $USER ou pi ça devrait être la même chose. J’ai mis $USER dans mon exemple car je ne connaissait pas le user utilisé pour la crontab.

A+

Neuve ou non une sd peut être défectueuse

Salut,

Je persiste !
Non pas que je veuille absolument avoir raison (comment ça je suis Breton ?!?), mais puisque j’ai passé du temps pour valider ma réponse (essais multiples et répétés) = je sais que ça fonctionne.

Le 07/06/2019 à 17h44, je notais :

Donc la simple ligne */5 * * * * pi cvlc /home/pi/Desktop/pi-test.m3u ajoutée a bien lancé cvlc et la liste de lecture.
Donc cette ligne fonctionne via crontab
Et elle se lançait bien toutes les 5 minutes !

Tu n’as pas une clef USB sur laquelle tu pourrais installer Raspbian pour changer de support physique et vérifier si ce n’est pas la carte SD qui … [bip] … dans la colle ?

++

Ok @Nabla, je ne contredis pas tes essais.

Je corrige. Disons que, avant de tester une commande un peu plus évoluée, tester d’abord une commande des plus simples, afin de valider la crontab. Car pour le moment on ne sait toujours pas si c’est la crontab qui ne fonctionne pas, l’écriture d’un fichier en crontab, ou bien la commande lancée qui n’est pas reconnue.
Personnellement, le support physique, même après 4 installations qui donne toujours le seul et même symptôme de crontab, je trouve cela très surprenant !

A+