Aller au contenu


- - - - -

Crontab Perdu Après Reboot Du Nas


  • Vous ne pouvez pas répondre à ce sujet
4 réponses à ce sujet

#1 filou59

    Qnapeur fidèle

  • Membres
  • PipPip
  • 11 messages
  • Matériel: TS-859 Pro

Posté 09 août 2011 - 11:50

Bonjour a tous

J'ai un TS 859 avec le firmware suivant : 3.4.4 0718T

Je voudrais ajouter un script dans mon crontab, et biensur que celui-ci soit toujours présent après chaque Reboot.
Mais là je sèche.

Tout d'abord, j'utilise la méthode de l'autorun, pour lancer un script placé sur un de mes DDur :
mount -t ext2 /dev/sdx6 /tmp/config
vi /tmp/config/autorun.sh

#!/bin/sh
/share/HDA_DATA/Script/autorunmaster.sh


Ca ca fonctionne.

Dans ce fichier autorunmaster je lance un script : /share/HDA_DATA/Script/crontab.sh que voici :
#!/bin/sh
# location: /share/HDA_DATA/Script/crontab.sh
# script name: crontab script
# purpose: add entries to the crontab, which will survive a QNAP reboot
# designed for Qnap TS-859
tmpfile=/tmp/crontab.tmp

# read crontab and remove custom entries (usually not there since after a reboot
# QNAP restores to default crontab:
crontab -l | grep -vi "dynhost" | grep -vi "custom1.sh" | grep -vi "custom2.sh" > $tmpfile

# add custom entries to crontab
echo "*/2 * * * * /share/HDA_DATA/Script/DynHost/dynhost" >> $tmpfile
#echo "1 4 * * * /share/HDA_DATA/scripts/custom1.sh" >> $tmpfile
#echo "40 5 * * * /share/HDA_DATA/scripts/custom2.sh" >> $tmpfile

#load crontab from file
crontab $tmpfile

# remove temporary file
rm $tmpfile

# restart crontab
/etc/init.d/crond.sh restart


Si je lance le script autorunmaster.sh, le Crontab est bien mis a jour.

Mais pendant un redémarrage le NAS exécute le script autorun un peu trop tôt on dirait, puisque le crontab est réécrit par la suite.
Si je lance mon crond.sh en tache de fond et si j'ajoute une tempo Sleep pour la mise a jour du Crontab, ca marche mais cette solution n'est pas terrible je trouve.

Lancement du crond.sh en tache de fond :
/share/HDA_DATA/Script/crontab.sh &


Temporisation dans le script crond.sh:
sleep 60


De plus si je modifie un paramètre (qui ajouterais une ligne dans le cron) via la page de config du Qnap, les modifications du script sont alors perdu.

Est-ce qu'il existe un autre moyen plus fiable ?

#2 filou59

    Qnapeur fidèle

  • Membres
  • PipPip
  • 11 messages
  • Matériel: TS-859 Pro

Posté 09 août 2011 - 12:23

Je viens de trouver la réponse a ma question.

Lors de modification dans le cron, il faut aussi faire la modification dans le fichier suivant : /etc/config/crontab

J'ai donc modifié mon script pour y ajouter cette ligne :
cat $tmpfile > /etc/config/crontab


Le crontab survie au Reboot et au modif de config.

#3 father_mande

    Qnapeur officiel

  • Administrateurs
  • 3 243 messages
  • Matériel: TS-459 Pro, TS-219, TS-109 II

Posté 09 août 2011 - 13:25

Bonjour,

Voir le messagefilou59, le 09 août 2011 - 12:23 , dit :

Je viens de trouver la réponse a ma question.

Lors de modification dans le cron, il faut aussi faire la modification dans le fichier suivant : /etc/config/crontab

J'ai donc modifié mon script pour y ajouter cette ligne :
cat $tmpfile > /etc/config/crontab


Le crontab survie au Reboot et au modif de config.


De plus, ce fichier étant sauvegardé .... normalement, pas besoin d'un autorun.sh .... (/etc/config est un lien vers un répertoire sur le disque dur .... )

Philippe.
QNAP TS-459, 3.6.0, Virtualbox, OpenVPN
QNAP TS-109, Debian Squeeze
QNAP TS-219P II, 3.6.1
La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Le Raid N'EST PAS un backup (proverbe Qnapien)

#4 filou59

    Qnapeur fidèle

  • Membres
  • PipPip
  • 11 messages
  • Matériel: TS-859 Pro

Posté 09 août 2011 - 22:45

Je suis pas encore expert la dedans, et je m'y perd encore un peu entre les fichiers qui sont écrasé après les reboot ou autre j'en perd mon latin.

Sur le WIKI il y a 2 méthodes, j'ai pris la mauvaise... :o , mais bon c'est comme ca que ca rentre, c'est en forgeant que lon devient forgeron :lol:

Dommage quand même que le NAS soit si long a démarrer :rolleyes:

#5 McCoy

    Qnapeur fidèle

  • Membres
  • PipPip
  • 12 messages
  • Matériel: TS-219P, TS-219

Posté 11 janvier 2012 - 12:47

Je viens aussi d'être victime de l'écrasement des crons ajoutés via crontab -e et ceci suite au paramétrage d'une tâche Antivirus via l'interface.
J'ai donc corrigé en reportant les modifications directement dans le fichier /etc/config/crontab

Par contre, pour que ces modifications soient à nouveau prises en compte, inutile de rebooter: il suffit de modifier une tache (type Antivirus) via l'interface pour que les crons soient mis à jour.





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)