Vérification dossier distant via script bash

Mortallys Messages postés 203 Statut Membre -  
Mortallys Messages postés 203 Statut Membre -
Bonjour,

Je suis à la recherche d'aide pour un script linux.
Je cherche à faire un script qui récupère les logs du serveur et les envoies dans un nas pour la sauvegarde.
Mon soucis est que je n'arrive pas à faire une vérification des dossiers distant existant car je les voudrais les répertorier comme ceci :

- Annee
----------Mois
----------------Jour

Donc en gros je voudrais pouvoir faire une vérification pour savoir si le mois de Janvier existe sinon il créer le dossiers.
Au début je suis parti avec des IF mais il sont interprété sur le pc client et non le FTP.

Je peut mettre mon code source si vous avez besoin de voir une peut ce que j'ai fait pour comprendre.

En espérant une réponse. Cordialement,

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Comment te connectes-tu à ton serveur ? Via ssh ?

    Je peut mettre mon code source si vous avez besoin de voir une peut ce que j'ai fait pour comprendre.
    Il serait préférable en effet ;-\

    ;-)
    0
  2. Mortallys Messages postés 203 Statut Membre 16
     
    J'ai réussi à le faire mais je ne sais pas si c'est la meilleurs méthode. Voilà le code :

    #!/bin/bash
    
    # Récupération de la date
    
    jour=$(date +'%d')
    mois=$(date +'%B')
    annee=$(date +'%Y')
    
    # Récupération des fichiers Logs dans les différents répertoire.
    
    mkdir /TransferLogsFTP/tmp
    mkdir /TransferLogsFTP/tmp/var-log
    mkdir /TransferLogsFTP/tmp/var-squid-logs
    
    mv /var/log/squidGuard.log /TransferLogsFTP/tmp/var-log/squidGuard.log
    
    mv /var/squid/logs/access.log /TransferLogsFTP/tmp/var-squid-logs/access.log
    mv /var/squid/logs/cache.log /TransferLogsFTP/tmp/var-squid-logs/cache.log
    mv /var/squid/logs/store.log /TransferLogsFTP/tmp/var-squid-logs/store.log
    
    # Création du fichier de connection FTP
    
    echo "open 192.168.0.129">connectFTP
    echo "user tssi Tssi2012">>connectFTP
    echo "cd Sauvegarde/Logs-SquidGuard">>connectFTP
    echo "lcd /TransferLogsFTP">>connectFTP
    echo "mkdir $annee">>connectFTP
    echo "cd $annee">>connectFTP
    echo "mkdir $mois">>connectFTP
    echo "cd $mois">>connectFTP
    echo "mkdir $jour">>connectFTP
    echo "cd $jour">>connectFTP
    echo "mkdir var-squid-logs">>connectFTP
    echo "mkdir var-log">>connectFTP
    echo "cd var-log">>connectFTP
    echo "lcd /TransferLogsFTP/tmp/var-log">>connectFTP
    echo "put squidGuard.log">>connectFTP
    echo "cd ../var-squid-logs">>connectFTP
    echo "lcd /TransferLogsFTP/tmp/var-squid-logs">>connectFTP
    echo "mput *.log">>connectFTP
    echo "Bye">>connectFTP
    
    # Connection au FTP et Envoie des fichiers logs
    
    ftp -ni < /TransferLogsFTP/connectFTP
    
    rm -r /TransferLogsFTP/tmp
    
    


    C'est un script qui est exécuté tout les jour. je l'ai assignier via la commande contrab. Il est interne à la machine pour répondre à ta question donc pas de connection ssh.
    0