Aller au contenu

Le Planificateur De Sauvegarde Ne Fonctionne Plus


411j

Messages recommandés

bonjour,

Je reposte ici car je me suis aperçu que mes sauvegardes ne se faisaient plus

j'ai décrit la situation dans un post sur commentaires et suggestions

sur un 411j ; dsm 4.3-3810 update 4 j'ai voulu insere un script dans le planificateur de taches

#!/bin/bash
cd /volume1/cameras/sam4
rm -rf *

quand je l'ai lancé, la tache n'a pu etre effectuée,

et depuis je ne peux plus ouvrir le planificateur malgré un redémarrage du nas et les sauvegardes ne démarrent plus.

mon crontab a l'air correct


#minute hour mday month wday who command
39 3 * * 3,6 root /usr/syno/bin/synopkg chkupgradepkg
11 12 * * 2,5 root /usr/syno/sbin/synoupgrade --fetch-all

0 1 * * 1 root /tmp/synoschedtask --run id=1
0 1 * * 2 root /tmp/synoschedtask --run id=2
0 1 * * 3 root /tmp/synoschedtask --run id=3
0 1 * * 4 root /tmp/synoschedtask --run id=4
0 1 * * 5 root /tmp/synoschedtask --run id=5
0 1 * * 6 root /tmp/synoschedtask --run id=6
1 1 * * 0 root /tmp/synoschedtask --run id=7
0 0 * * * root /tmp/synoschedtask --run id=8

par contre /tmp/synoschedtask apparait comme vide avec vi synoschedtask

que devrait il y avoir dans ce fichier?

si vous avez une idée de ce qui se passe j'en serais content

merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

#!/bin/bash
cd /volume1/cameras/sam4
rm -rf *

Bigre, tu es un fou furieux toi!

As-tu imaginé les dégats possibles si le "cd" échoue?

Je viens d’ailleurs de de vérifier: sur cette version de DSM, pour le compte root, le dossier par défaut des taches programmées est "/usr/syno/synoman/webman/modules/TaskScheduler".

Si justement ton "rm" à échoué (une simple faute de frappe peut suffire) et voila que tu as scratché tout le contenu de ce dossier.

Ca pourrait expliquer ce que tu constates.

Sinon; il n'y a pas de "bash" dans "/bin" sous DSM, c'est "ash" ou "sh" (mais dans le planificateur de taches la ligne "shebang" est sans effet, les commandes sont exécutée par /bin/sh de toutes façons)

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

bonjour

merci de ton attention, fou sans doute, furieux un peu moins , je ne me doutais pas des dégats possibles de mon cd.

Je savais bien que comme galette chaude et brillante leur fiabilité était douteuse ,

mais comme commande je croyais qu'il pouvait répondre fidélement a mes désirs.

Ma naiveté supplée a mon manque de connaissances , et c'est par mes erreurs que je pénétre dans ce monde complexe.

j'ai été voir le fichier que tu m'indique et cela donne:

BusyBox v1.16.1 (2013-11-06 05:29:52 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

SYNO> cd /usr/syno/synoman/webman/modules
SYNO> pwd
/usr/syno/synoman/webman/modules
SYNO> vi taskscheduler
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
- taskscheduler 1/1 100%

il a l'air donc bien vide comme tu me l'indique;

ma question serait donc maintenant: comment sortir avec élégance du m........ dans lequel je me suis mis

et que dois je écrire dans un script pour effacer des fichiers dans un dossier sans scratché le systeme ?

je te remercie coolraoul de te pencher sur mon cas douloureux

Lien vers le commentaire
Partager sur d’autres sites

Aie, pas facile de de suivre ce style ampoulé.. :wacko:

Cela dit, et en réponse à:

j'ai été voir le fichier que tu m'indique et cela donne:

  • Je n'ai pas indiqué de *fichier* mais un *répertoire* ("le dossier par défaut des taches programmées")
  • Il ne s'appelle pas "taskscheduler" mais "TaskScheduler" (les systèmes unix sont sensible à la casse)
  • Plutôt que "vi", serait utile de savoir ce que donne la commande "ls -l TaskScheduler"

Si le résultat montre que c'est vide, vu que j'ai la même version de DSM, je pourrai te fournir une archive tar du répertoire "TaskScheduler" à décompresser dans ce dossier (il n'y a pas de fichier binaires exécutable dans ce dossier à cet endroit donc pas de problème de compatibilité entre modèle Syno différents).

Sinon (si rien n'a été effacé à cet endroit) c'est peut-être que quelque chose à été supprimé ailleurs et la je sens la grosse galère pour trouver où.

Une réinstallation de DSM risque d'être la seule option.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

j'ai fais:

"cd /user/syno/synoman/webman/modules"

Et pourquoi as-tu remplacé "usr" par "user"???

Tu devrais faire un copier/coller, ça éviterait ce genre d'erreur.

"ls -l TaskScheduler"

et la ligne suivante est vide

Alors la je ne comprend pas, avec le "cd /user/..." qui à forcément planté, tu devrais avoir le message d'erreur suivant:

ls: TaskScheduler: No such file or directory

Ou bien tu as bien tapé "usr" et pas "user" et donc tout est correct.

Vérifie bien et, pour gagner du temps, si il s'avère que c'est n'est bien que le répertoire TaskScheduler qui à été effacé (et uniquement lui) tu trouvera ici une archive tar (TaskScheduler.tar.gz) de ce dossier

Pour l'extraire tu vas te mettre dans le répertoire ou tu as déposé cette archive (TaskScheduler.tar.gz) et tu tapes *exactement* la commande suivante:

tar -C /usr/syno/synoman/webman/modules -xvzf TaskScheduler.tar.gz

ensuite tu redémarre le NAS

Lien vers le commentaire
Partager sur d’autres sites

bonjour

j'avais bien tapé usr , c'est a la recopie du message que je me suis trompé,

j'ai pris tar.gz et fais exactement ce que tu m'a dit,le planificateur est revenu ,il s'ouvre

mais les taches de sauvegardes n'apparaissent pas et je ne peux créer de nouvelles taches

il me dit "impossible de charger la tache .Reessayer ultérieurement"

Je l'ai arréter et redémarrer avec ces 2 lignes

/usr/syno/etc.defaults/rc.d/S04crond.sh stop
/usr/syno/etc.defaults/rc.d/S04crond.sh start
mais c'est pareil


Lien vers le commentaire
Partager sur d’autres sites

comment aurais je pu modifier les droits du repertoire que m'avait transmis coolraoul?

Quand on extrait un tar en étant connecté "root" les fichiers sont recrées avec exactement les mêmes droits (user, groupe, modes) qu'à l'origine.

Ce n'aurait donc pas été nécessaire.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

merci de l'info coolraoul

mon install se termine et tout marche comme auparavant

maintenant je reviens au début de ma manip

que dois je écrire dans un script pour effacer les contenus d'un repertoire , contenant des dossiers

et que dans ceux ci certains ont des dossiers journaliers et d'autres des fichiers jpg

sous windows j'avais fait cela

RD synocamerasveranda /S/Q

MD synocamerasveranda

qui effacer tout le dossier et le recrée derriere

je voudrais faire un script que j'integrerais dans le nas

/bin/sh

et apres comment je me positionne dans mon dossier du volume1 ?

Modifié par 411j
Lien vers le commentaire
Partager sur d’autres sites

et je met

/bin/sh

avant ou j'en ai pas besoin?

Dans le planificateur de tache la ligne "shebang" est sans effet, c'est toujours "/bin/sh" qui est utilisé

Personnellement je préfère mettre mes commandes dans un script séparé et mettre juste l'appel de ce script dans le fenêtre du planificateur de tache, mais chacun fait à sa façon.

Lien vers le commentaire
Partager sur d’autres sites

donc je résume pour pas faire d'erreur car j'ai encore pas tout compris

je prend un fichier txt dans lequel j'écris

/bin/sh

rm -rf /volume1/cameras/sam

je nomme ce fichier "script cam.sh" que je met dans un dossier de mon volume1

et je l'appelle dans la fenetre du planificateur de tache

mais avec quelle commande?

Lien vers le commentaire
Partager sur d’autres sites

donc je résume pour pas faire d'erreur car j'ai encore pas tout compris

je prend un fichier txt dans lequel j'écris

/bin/sh

Non:

#!/bin/sh

rm -rf /volume1/cameras/sam

je nomme ce fichier "script cam.sh" que je met dans un dossier de mon volume1

Plutôt "script_cam.sh"

Mieux vaut éviter les espaces dans les noms de fichiers, c'est permis mais on ne sait jamais.

et je l'appelle dans la fenetre du planificateur de tache

D'abord le rendre exécitable avec la commande:

chmod +x script_cam.sh

mais avec quelle commande?

Simplement mettre le chemin complet du script dans le champ commande du formulaire, exemple:

/volume1/perso/scripts/script_cam.sh.
Lien vers le commentaire
Partager sur d’autres sites

je résume maintenant

je crée mon script que je nomme script_cam.sh

et que j'appelle dans le formulaire par le chemin

/volume1/mondossierscripts/script_cam.sh

le script lui meme est écrit de la façon suivante

#!/bin/sh

chmod +x script_cam.sh

rm -rf /volume1/cameras/sam/*

Modifié par 411j
Lien vers le commentaire
Partager sur d’autres sites

Ca m'a l'air bon,

Comme l'a fait remarqué Fravadona,

rm -rf /volume1/cameras/sam/*

supprime le contenu de "sam" mais pas "sam" lui même

Pour supprimer "sam" *et* son contenu:

rm -rf /volume1/cameras/sam

Mais faudra peut-être le créer vide ensuite:

mkdir  /volume1/cameras/sam

(dans ce dernier cas, faudra peut être ajuster les droits de sam à coup de "chown" et "chmod")

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

cela ne fonctionne pas

je le lance mais cela n'efface pas le contenu de mes dossiers

voila le script en copie

#!/bin/sh

chmod +x script_cam.sh

rm _rf /volume1/cameras/couloir/*

rm _rf /volume1/cameras/entree/*

le chemin de lancement dans le planificateur:

/volume1/archives/scripts/script_cam.sh

je suis en root dans le planificateur

Lien vers le commentaire
Partager sur d’autres sites

  • Le chmod est à faire une seule fois et pas à mettre dans le script
  • ce n'est pas

    rm _rf 
    mais

    rm -rf
    ("-" et pas "_")

  • je te conseille d'ajouter la ligne suivante juste en début du script (juste apres la ligne "#!...")

    [ -t 0 ] || exec /tmp/script_cam.sh.log 2>&1
    comme ça tu aura une trace d'exécution dans "/tmp/script_cam.sh.log" ou tu pourra consulter les éventuelles erreurs
  • je te conseille de d'abord commencer lancer la script à la main pour tester son fonctionnement.
Lien vers le commentaire
Partager sur d’autres sites

voila le script avec la correction

#!/bin/sh

[ -t 0 ] || exec /tmp/script_cam.sh.log 2>&1

rm -rf /volume1/cameras/couloir/*

rm -rf /volume1/cameras/entree/*

il fonctionne si je le met dans putty

mais il ne marche pas avec le lanceur de taches

et je ne trouve pas les logs dans tmp

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.