Script shell Backup d'un dossier [Résolu/Fermé]

Signaler
-
Messages postés
35769
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 novembre 2020
-
Bonjour,
Je cherche à faire une copie d'un dossier automatique de mon NAS synology avec un script. En fait le script va se lancer tous les x jours (avec le programmeur de tache inclut) et il devra supprimer le dernier dossier copié puis faire une copie du dossier à sauvegarder.
Cependant je n'ai absolument aucune base en shell et après des recherches sur google, je suis encore plus perdu qu'avant.
Est ce compliqué comme script? Et est ce possible d'avoir une petite(voir même une grosse ) aide pour l'écrire ?

Nicolas

2 réponses

Messages postés
29413
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
11 novembre 2020
6 971
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Merci, mais tout ce qu'il y a sur ces pages sont des programmes, mais je ne peux rien installer sur le NAS. Je cherche vraiment à faire un script.
Messages postés
29413
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
11 novembre 2020
6 971
rsync ne s'installe pas sur le NAS. Il se lance depuis le PC sous ubuntu et synchronise deux dossiers. En admettant que ton NAS soit monté sur ton PC sous ubuntu, tu peux synchroniser ce dossier avec un autre.
Mais je ne veux/et peux pas utiliser un PC à coté il faut que tout soit interne au NAS, le dossier à copier est dans le NAS
Messages postés
35769
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 novembre 2020
5 638 > Nicolas.74
il faut que tout soit interne au NAS, le dossier à copier est dans le NAS
Voir les commandes :
cp
tar
rsync

Bonjour,
Je vous suggère de vous intéresser à la commande copier (cp) avec les options -f et -R.
Éventuellement -u vous fera gagner du temps.
http://pwet.fr/man/linux/commandes/cp/
http://www.linux-france.org/article/man-fr/man1/cp-1.html
La première ligne d'un script doit être #!/bin/bash et le fichier doit être exécutable.
http://www.c-sait.net/cours/scripts.php
Vous lancerez votre script par une tâche cron
https://craym.eu/tutoriels/developpement/tache_cron_script_php.html
Testez bien avant de passer à la copie réelle, on a parfois des résultats inattendus.
Bon amusement et bon courage.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Merci de votre réponse.
En mettant la première ligne: #!/bin/bash je suppose que c'est pour parler d'un script en bash. Mais le NAS me demande un .sh et de ce que j'ai vu un script en bash est en .bat donc ça ne marcherait pas (enfin je pense).

Nicolas
Utilisateur anonyme > Nicolas.74
Heu ben non, les .bat c'est pour les scripts DOS de Windows, les scripts shell bash de Linux sont en .sh comme script.sh par exemple.
Messages postés
35769
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 novembre 2020
5 638 > Nicolas.74
Salut,

En règle générale, on met l'extension qui correspond au shebang :
  • .sh pour /bin/sh
  • .bash pour /bin/bash
  • .ksh pour /bin/ksh
  • .csh pour /bin/csh
  • .dash pour /bin/dash
  • etc.


Attention aussi au lien symbolique, bien souvent le
/bin/sh
pointe vers
/bin/bash
, mais pas sur les systèmes Debian/Ubuntu et dérivés ça pointe vers
/bin/dash
.

Attention aussi sur les Nas c'est souvent des shells restreints et les commandes sont minimalistes (elles n'ont pas toutes les fonctionnalités des commandes Gnu).

Sinon,
rsync
existe en natif normalement sur les Nas Synology.
Merci pour vos précisions, pour rsync je savais pas j'ai rien vu à ce propos, mais parfait je vais essayer d'utiliser ça.

Merci, je vais m'y mettre !