Retourner aux forums || Retourner au forum Linux.debutant

Linux.debutant : copie de fichier avec des options avancées

Posté par xenon_hs (page perso, ) le 12 avril 2006
0
Bonjour,

je suis débutant en bash script et j'aimerais faire un script qui va copier les fichiers importants du système à l'endroit de mon choix, j'aimerais surtout que la date soit indiquée (éventuellement l'heure) dans le nom du fichier, si quelqu'un peut m'aider quand à la syntaxe à utiliser:

cp /etc/fichier_important /mnt/sauvegarde/fichier_important_$DATE ou quelque chose du style ???

Merci =)

Bonne journée

Romain

--
Dans la vie il n'y a pas de problèmes mais que des solutions
> Lire le message (8 commentaires, moyenne: 1,5).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

En deux coups

Posté par Lol Zimmerli (Jabber id, page perso, ) le 12/04/2006 à 12:06. (lien). Évalué à 1.

#!/bin/bash

DATE=`date +"%d%m%Y"`
cp /etc/fichier_important /mnt/sauvegarde/fichier_important_$DATE
cp /etc/fichier_important_aussi /mnt/sauvegarde/fichier_important_aussi_$DATE

--
En fait, Bernardo n'était pas muet; c'est Zorro qui était sourd.
  • [^]Re: En deux coups

    Posté par totof2000 () le 12/04/2006 à 12:46. (lien). Évalué à 4.

    DATE=`date +"%d%m%Y"`

    Je préfère %Y%m%d : lorsque tu fais un ls par exemple les fichiers sont classés de suite.

    • [^]Re: En deux coups

      Posté par Ellendhel () le 12/04/2006 à 14:44. (lien). Évalué à 1.

      La solution année-mois-date est effectivement plus simple à utiliser lors d'un affichage.

      D'ailleurs la commande date dispose d'une option directement adaptée à ce genre de chose :

      %F same as %Y-%m-%d

      • [^]Re: En deux coups

        Posté par totof2000 () le 12/04/2006 à 15:39. (lien). Évalué à 2.

        propre a gnu date: pas forcément portable ailleurs.
        C'est toujours bon de préciser ce genre de détail.

        • [^]Re: En deux coups

          Posté par xenon_hs (page perso, ) le 12/04/2006 à 15:42. (lien). Évalué à 1.

          magnifique :) merci pour toutes ces réponses !

          @+

          --
          Dans la vie il n'y a pas de problèmes mais que des solutions
          • [^]Re: En deux coups

            Posté par xenon_hs (page perso, ) le 13/04/2006 à 14:46. (lien). Évalué à 0.

            C'est possible d'entrer le path d'un répertoire dans une variable ???

            Genre

            PATH='/home/xenon/test`
            cp /etc/X11/xorg.conf $PATH/xorg.conf

            Pour éviter de retapper tout les path si je change mon répertoire de destination.

            Merci bon week-end de Pâques :)

            --
            Dans la vie il n'y a pas de problèmes mais que des solutions
            • [^]Re: En deux coups

              Posté par totof2000 () le 14/04/2006 à 05:59. (lien). Évalué à 2.

              oui mais évite d'utiliser la variable PATH qui est une varible utilisée par le shell pour connaitre le chemin d'accès aux commandes que tu exécute.

              fais un truc du genre REP_DEST="/mon/repertoire/destination"

Script

Posté par xenon_hs (page perso, ) le 17/04/2006 à 20:05. (lien). Évalué à 1.

Voilà le script au final :)

#!/bin/sh
#
echo "Starting backup script"
#
#
#On va commencer par renseigner les variables necessaires
DATE=`date +"%Y.%m.%d"`
BACKUPDIR=/mnt/hdc1/linux_backup/gateway/weekly_backup
BACKUPDIROLD=/mnt/hdc1/linux_backup/gateway/weekly_backup_old
#
#On commence par virer tout les anciens backups
rm $BACKUPDIROLD/*
#
#Ensuite on va copier tout les anciens fichiers de config dans les archives
cp $BACKUPDIR/* $BACKUPDIROLD/
#
#Ensuite on va supprimer tout les anciens fichiers de config
rm $BACKUPDIR/*
#
#Liste des fichiers a copier
#
echo "copying files"
cp /etc/hdparm.conf $BACKUPDIR/hdparm.conf_$DATE
cp /usr/local/etc/raddb/clients $BACKUPDIR/radius_clients_$DATE
cp /usr/local/etc/raddb/radiusd.conf $BACKUPDIR/radiusd.conf_$DATE
cp /usr/local/etc/raddb/eap.conf $BACKUPDIR/radius_eap.conf_$DATE
cp /usr/local/etc/raddb/users $BACKUPDIR/radius_users_$DATE
cp /etc/vsftpd.conf $BACKUPDIR/vsftpd.conf_$DATE
cp /etc/vsftpd.chroot_list $BACKUPDIR/vsftpd.chroot_list_$DATE
cp /etc/network/iptables.conf $BACKUPDIR/iptables.conf_$DATE
cp /etc/network/interfaces $BACKUPDIR/interfaces_$DATE
cp /etc/dhcp3/dhcpd.conf $BACKUPDIR/dhcpd.conf_$DATE
cp /usr/bin/backup $BACKUPDIR/backup_script_$DATE
#
#creation d'une archive gzip des fichiers copies
echo ""
echo "creating gz archive..."
#
tar czf $BACKUPDIR/backup_gw_$DATE.tar.gz $BACKUPDIR/*
#
echo ""
echo "done"

--
Dans la vie il n'y a pas de problèmes mais que des solutions

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.debutant