Aller au contenu

Script Dans /volume1/startup Non Lanc

Featured Replies

Posté(e)

Bonjour,

Suite à la lecture de plusieurs posts sur le forum, j'ai voulu automatiser la sauvegarde de bases SQL au démarrage du Syno.

J'ai donc déposé mon script dans /volume1/startup/ et il est exécutable

> cd /volume1/startup/

> ls -lR

-rwxrwxrwx 1 root root 396 Apr 17 18:42 S99BackupTOUT.sh

Voici son contenu :

#!/bin/bash

echo "Sauvegarde de toutes les bases de donnees"

cd /volume1/PourTousPartage/SAUVEGARDE/Logiciels/Logiciel_synology/_batch/

touch toto

sh ./mysqlbackup.sh ACTUPV

sh ./mysqlbackup.sh BDPV

sh ./mysqlbackup.sh iBDPV

sh ./mysqlbackup.sh GPPEP

sh ./mysqlbackup.sh FORUMPV

sh ./mysqlbackup.sh ARGB

sh ./mysqlbackup.sh MACODA

sh ./mysqlbackup.sh ASSOLEAT

echo "Sauvegardes terminees"

exit 0

Le "touch toto" est là pour avoir une commande simple qui me permet de savoir si le script est lancé ou pas.

Si depuis un terminal, je fais un "sh S99BackupTOUT.sh", le fichier toto est bien créé et la sauvegarde des bases SQL a bien lieu.

Si je démarre mon syno, pas de fichier toto et pas de sauvegarde des bases SQL.

Précédemment j'avais aussi essayé de mettre le script dans /usr/syno/etc/rc.d/ sans plus de résultats :-(

Vous voyez un soucis quelque part ?

P.S : Je suis en DSM4.0 avec un DS212+

David

Posté(e)

Dans un premier temps, ton shebang, tu devrais plutot le mettre en /bin/sh ou /bin/ash

Ensuite, je pense qu'il y a un problème sur les chemins relatifs de tes scripts

Crée une variable $BATCH_DIR par exemple (égale à ton volume1/...../_batch)

Et appelle chacun des scripts sans le "sh ./" devant chacun. Exemple : $BATCH_DIR/mysqlbackup.sh ACTUPV

Pour finir tu peux toujours faire une sortie dans un fichier de log (script toto.sh > log.txt), et au lieu du touch toto, juste y mettre un "echo toto"

Modifié par bud77

Posté(e)
  • Auteur

Je viens de faire les modifs.

J'ai une sauvegarde en cours de mon NAS, dès que c'est terminé, je le reboote !

Merci

David

Posté(e)
  • Auteur

Super !!!!

Un grand merci, cela marche maintenant.

Après plusieurs tests, le problème venait du #!/bin/bash, le changement en #!/bin/sh suffisait.

Encore un grand merci

David

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…

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.