Giter Site home page Giter Site logo

aldokuritsu / backup_amazons3 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 15 KB

Script shell pour compresser et envoyer un dossier sur Amazon S3

Home Page: https://dokuritsu.fr/maintenir-linfrastructure-et-contribuer-a-son-evolution-et-a-sa-securisation/automatiser-des-taches-a-laide-de-scripts/script-shell-de-sauvegarde-dun-dossier-cible-vers-amazon-s3/

Shell 100.00%

backup_amazons3's Introduction

Description

Script qui permet de créer une archive d'un dossier et de l'envoyer vers Amazon S3

Pré-requis

Avoir installé aws-cli sur votre système. + d'infos ici : https://aws.amazon.com/fr/cli/

Utilisation

Rendez le script exécutable avec la commande suivante :

chmod +x backup_script.sh

Exécutez le script avec l'option -d pour spécifier le répertoire à sauvegarder.

Exemple : sauvegarder le répertoire "test" présent dans /tmp :

./backup_script.sh -d /tmp/test

Dans cette commande, -d est l'option que le script utilise pour accepter le chemin du répertoire à sauvegarder, et /tmp/tutos est la valeur que vous donnez à cette option. Le script archive ensuite le répertoire spécifié et le télécharge dans votre bucket Amazon S3.

Notez que le script doit avoir les permissions nécessaires pour lire le contenu du répertoire /tmp/tutos et écrire dans le répertoire où il est exécuté, car il crée temporairement un fichier d'archive avant de le télécharger sur Amazon S3.

Pour automatiser l'envoi du fichier avec une tâche cron, vous devrez suivre les étapes ci-dessous :

  1. Ouvrez le fichier crontab : Ouvrez le fichier crontab pour éditer les tâches programmées en utilisant la commande suivante :
crontab -e
  1. Ajoutez une entrée pour votre script : À la fin du fichier, ajoutez une nouvelle ligne pour votre script. Par exemple, pour exécuter votre script tous les jours à 2 heures du matin, vous pouvez ajouter la ligne suivante :
0 2 * * * /chemin/vers/votre/backup_script.sh -d /tmp/tutos

Remplacez /chemin/vers/votre/backup_script.sh par le chemin complet vers votre script.

La syntaxe de cette ligne est la suivante :

  • 0 2 * * * : spécifie l'horaire. Dans ce cas, il est configuré pour exécuter la tâche à 2 heures du matin tous les jours.
  • /chemin/vers/votre/backup_script.sh -d /tmp/tutos : est la commande à exécuter.
  1. Sauvegardez et quittez l'éditeur : Sauvegardez le fichier et quittez l'éditeur (la façon de faire dépendra de l'éditeur que vous utilisez, par exemple en appuyant sur CTRL + X puis Y et enfin Enter si vous utilisez nano).

  2. Vérifiez votre crontab : Vous pouvez vérifier que votre nouvelle tâche est correctement enregistrée en listant toutes vos tâches cron avec la commande suivante :

crontab -l

Informations complémentaires

  • Les options -h (pour afficher l'aide) et -d (pour spécifier le répertoire à sauvegarder) sont traitées à l'aide de getopts.
  • Les vérifications sont effectuées pour s'assurer que le CLI AWS est installé et que le répertoire spécifié existe.
  • Une fonction backup_directory est définie pour archiver et compresser le répertoire, puis pour transférer le fichier de sauvegarde vers Amazon S3.
  • Le script utilise set -e et set -u pour gérer les erreurs de manière appropriée.
  • Les variables et les fonctions sont nommées de manière descriptive.
  • La constante BUCKET_NAME est définie en utilisant readonly pour stocker le nom du bucket S3.

backup_amazons3's People

Contributors

aldokuritsu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.