Script shell Backup d'un dossier

Résolu/Fermé
Nicolas.74 - 30 nov. 2016 à 09:16
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 1 déc. 2016 à 18:05
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
A voir également:

2 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
30 nov. 2016 à 09:59
1
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.
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
Modifié par mamiemando le 1/12/2016 à 10:11
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.
0
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
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > Nicolas.74
1 déc. 2016 à 18:05
il faut que tout soit interne au NAS, le dossier à copier est dans le NAS
Voir les commandes :
cp
tar
rsync
0
Utilisateur anonyme
30 nov. 2016 à 14:44
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 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
0
Utilisateur anonyme > Nicolas.74
30 nov. 2016 à 17:16
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.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > Nicolas.74
30 nov. 2016 à 17:26
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.
0
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 !
0