Sauvegarde automatique sur Yandex.Disk. Sauvegarde des données sur le "cloud"

Dans les deux articles précédents, je configurer LAMP sur VPS  et nginx vissé à elle. La prochaine chose à laquelle vous commencez immédiatement à penser est de savoir comment perdre tout cela. C'est-à-dire qu'il s'agit de sauvegarde.

Discutons dans l'ordre: quoi, où et comment le sauvegarder.

Ce qui est

  1. Toutes les configurations que vous avez minutieusement éditées ( / etc)
  2. Tous les fichiers utilisateur ( / accueil, / root)
  3. Bases de données (nous ferons référence à MySQL)

Maintenant tout va vers les "nuages". Les sauvegardes veulent ajouter à la même chose.

Yandex.Disk s'est avéré une option très intéressante pour la sauvegarde. Il présente plusieurs avantages:

  • 10 Go gratuits
  • Il se trouve en Russie et les fichiers y sont rapidement téléchargés.
  • Capable de travailler sous le protocole WebDAV, ce qui vous permet de télécharger des données depuis la console en utilisant la commande curl

Comme

Voici la recette. Connectez-vous en tant que root et créez un script:

Chmod 0700 backup-now.sh

Le texte du script ressemblera à ceci:

   #! / bin / bash SERVER_NAME = "server1" TIME = `date +% Y-% b` FS_FILE = / tmp / $ SERVER_NAME-fs. $ TIME.tar.gz MYSQL_FILE = / tmp / $ SERVER_NAME-mysql. $ TIME .sql.gz Archivage des fichiers tar -czf $ FS_FILE / etc / root / home Archivage des bases de données mysqldump -u root --password = qwerty --all-database | gzip\u003e $ MYSQL_FILE # Chargement sur le cloud curl - utilisateur USER: PASSWORD -T "($ FS_FILE, $ MYSQL_FILE)" https://webdav.yandex.ru/ # Nettoyage de la suppression de la liaison $ FS_FILE de la suppression $ MYSQL_FILE.

La première fois, il est préférable d’exécuter les commandes une par une, en commentant le reste. Si tout se passe bien, deux archives apparaîtront dans votre Yandex.Disk.

Maintenant, pour automatiser, vous devez ajouter un lien symbolique à backup-now.sh dans /etc/cron.daily (ou /etc/cron.weekly). N'oubliez pas que sur certains systèmes (en particulier Debian), le lien symbolique doit supprimer l'extension ().

La variable $ TIME est choisie pour que vous puissiez accumuler des sauvegardes à partir du dernier jour de chaque mois. Si vous ne souhaitez pas encombrer le nuage, vous pouvez le supprimer du script, mais la pratique montre que les anciennes copies peuvent être utiles. Juste besoin de retirer périodiquement l'ancien.

Et si je ne veux pas de Yandex.Disk?

De toute évidence, vous pouvez télécharger sur n’importe quelle ressource prenant en charge WebDAV. Certains services permettent d’accéder via Dropbox ou WebDAV via WebDAV. Google drive (par exemple, Otixo, SMEStorage, DropDAV). La rumeur veut que SkyDrive fonctionne via WebDAV. Et nous espérons également que le support apparaîtra dans Dropbox à partir de la boîte.

P.S. Cryptage des archives avec GnuPG

Comme les sauvegardes contiennent beaucoup d'informations secrètes (mots de passe, données), il est logique de les chiffrer:

GPG_COMMAND = "gpg -c -z 0 --batch --passphrase XXXXXXXXXX" FS_FILE = / tmp / $ SERVER_NAME-fs. $ TIME.tar.gz.gpg MYSQL_FILE = / tmp / $ SERVER_NAME-mysql. $ TIME.sql. gz.gpg # Archivage des fichiers tar -cz / etc / root / home | $ GPG_COMMAND\u003e $ FS_FILE # Archivage des bases de données mysqldump -u root --password = qwerty --all-database | gzip | $ GPG_COMMAND\u003e $ MYSQL_FILE. . .

Salutations à vous, chers lecteurs de mon blog. Vous avez probablement entendu parler d’un programme qui vous permet de stocker des fichiers sur un serveur Yandex. Sinon, bienvenue sur soft.yandex.ru - c’est là.

Alors voilà. Il y a quelques jours, alors que je parcourais des sites Web, je me suis rendu sur un blog sur lequel un script a été publié, qui vous permet de sauvegarder une copie de sauvegarde d'un site sur un disque Yandex. Dans cet article, je vais en parler en détail.

Ce dont nous avons besoin

  • 1. Serveur, identifiant, mot de passe et nom de la base de données mysql, si, bien sûr, votre site fonctionne avec cette base de données;
  • 2. Le chemin de la racine du disque vers votre site (demandez au service de support d’hébergement);
  • 3. Le courrier électronique et le mot de passe que vous utilisez pour vous connecter à Yandex (ceci et les données du disque Yandex).

Travailler avec le site de sauvegarde de fichiers sur le disque Yandex

Vous devez d’abord changer l’adresse du serveur mysql. Dans la plupart des cas, il s’agit de localhost, je l’ai donc laissée là, mais s’il y en a un autre, nous le remplaçons par le mien dans la ligne.

   $ dbhost = "localhost"; // adresse du serveur MySQL.

Dans la ligne ci-dessous, remplacez "utilisateur_base_de_données" par votre propre valeur de nom d'utilisateur de la base de données mysql.

"nom_base_de_données" est le nom de la base de données mysql.

Au lieu de "site_dear_hear", insérez votre chemin vers le site à partir de la racine du disque.

Après cela, allez à la configuration du disque Yandex:

  • 1. "[email protected]" remplace par votre adresse email  à Yandex;
  • 2. "yandex_password" pour un mot de passe de la messagerie Yandex;
  • 3. Créez un répertoire "de sauvegarde" dans le dossier racine du disque Yandex (votre dossier sera sauvegardé). des sauvegardes).

Tout Enregistrez le fichier et téléchargez-le sur le serveur.

Je ne recommande pas de le télécharger dans le répertoire racine du site, car toutes sortes de robots y feront constamment référence, à cause desquelles le disque Yandex sera rempli avec des copies supplémentaires de sauvegardes. Il est préférable de créer un dossier, par exemple "a3hd7siq8a7s9xeeewwwerw-0-032-_2", afin que personne d'autre que vous ne puissiez savoir où vous l'avez.

Cran est un planificateur de tâches: un programme spécial avec lequel vous pouvez programmer l’exécution de scripts, mais je ne sais pas comment l’utiliser, je ne pourrai donc pas vous aider ici.

Et si plusieurs sites

Vous savez probablement déjà que j'ai cinq sites. Naturellement, vous en aurez assez de les lancer séparément, mais il est bon que le deuxième script ait été placé dans le même article, qui lance tous les autres scripts à tour de rôle.

  • 1. ;
  • 2. Remplacez site1.ru, site2.ru, etc. avec les adresses de vos sites. De plus, n'oubliez pas de vous inscrire après le dossier dans lequel se trouve ce script;
  • 3. Enregistrez les modifications et téléchargez-les sur le serveur, en les plaçant aussi loin que possible du dossier racine du site.

Si vous avez moins de cinq sites, supprimez simplement les lignes qui ressemblent à ceci:

Echo ""; $ response = file_get_contents ("http://site5.ru/beckup.php"); echo iconv ("Windows-1251", "utf-8", $ réponse);

Si vous avez un site dans la zone. RF, vous devez traduire en Panycode avant d’écrire l’adresse.

J'espère que l'article vous a été utile.

En attente de commentaires.

Beaucoup de choses ont été écrites sur la sauvegarde sur des supports externes dans Windows 7 ou 8.1. Mais que se passe-t-il si vous utilisez plusieurs périphériques (par exemple, un ordinateur, une tablette, un téléphone sous Windows)? Et vous avez un besoin urgent de données, par exemple, de documents stockés sur un ordinateur ou un autre appareil? Dans ce cas, il est préférable de créer une sauvegarde dans le "nuage". En passant, je recommanderais également de placer vos archives là-bas. Par exemple, les archives des mêmes documents. C’est d'ailleurs très utile si vous utilisez un lecteur SSD SSD dans votre ordinateur portable au lieu du lecteur habituel. disque dur. Dans cet article, nous allons examiner le stockage en nuage principal - OneDrive de Microsoft, Google Drive, Dropbox et Yandex Disk.

L'utilisation de OneDrive est très utile si vous utilisez Windows 8.1. Dans ce cas, la capacité de stockage peut atteindre 15 Go. Si vous êtes également un heureux propriétaire de l'abonnement Office 365, la capacité de stockage de OneDrive n'est pas limitée du tout. Les nouveaux utilisateurs de Google Drive commencent par 15 Go. Dropbox ne fournit initialement que 2 Go d'espace libre, mais la plupart des utilisateurs augmentent rapidement ce volume à 5 Go ou plus. Le prix de l'abonnement pour 1 To est de 10 USD par mois ou 100 USD par an.

Tous les services vous permettent de spécifier les fichiers et dossiers que vous souhaitez synchroniser avec le "nuage". Cela signifie que vous ne pouvez laisser certains fichiers et dossiers que sur votre disque «cloud» et les télécharger au besoin. Regardons de plus près comment cela se fait.

Pour commencer à utiliser Dropbox, vous devez vous rendre sur www.dropbox.com, vous inscrire et choisir le plan tarifaire approprié pour votre usage personnel (voir l’écran 1). Ensuite, vous serez invité à télécharger le package approprié pour l’installation (voir écran 2).

Écran 1. Dropbox
Écran 2. Enregistrement dans? Dropbox

Je tiens à noter immédiatement que lors de votre inscription à Dropbox, il vous est demandé de saisir le mot de passe une seule fois. Vous devez être plus prudent.

La synchronisation sélective lors de l’utilisation de systèmes Windows 7, 8 ou 8.1 est la suivante. Pour créer des règles de synchronisation personnalisées, cliquez avec le bouton droit de la souris sur l'icône Dropbox dans la barre des tâches. La fenêtre de configuration s'ouvre (voir l'écran 3).



Écran 3. Paramètres du compte

En fait, la synchronisation sélective vous permet de spécifier les dossiers que vous souhaitez synchroniser avec Dropbox. Ceci est certainement pratique si vous avez un netbook ou un ordinateur avec un petit disque dur  (et il n'y a pas d'extérieur avec ça). Notez que les dossiers de synchronisation sélective doivent se trouver dans votre dossier Dropbox. Ainsi, pour une synchronisation sélective, vous devez copier les fichiers que vous souhaitez transférer (copier) sur le stockage Dropbox «en nuage» dans le dossier approprié du disque.

Si vous annulez la synchronisation du dossier partagé via le menu «Synchronisation personnalisée» dans la fenêtre de configuration, la synchronisation ne sera effectuée qu'avec votre ordinateur. Dans le même temps, le dossier lui-même restera dans Dropbox et sera synchronisé avec les comptes des autres utilisateurs y ayant accès. Arrêter d'utiliser dossier partagé, vous pouvez soit le laisser sur le site Dropbox, soit (si vous l’avez créé vous-même) annuler accès partagé  pour elle.

Pour télécharger Google Disk, vous devez utiliser votre compte  services Google, puis sélectionnez le service Google Disk (voir écran 4).

Vous pouvez configurer les paramètres suivants.

Compte

  • Désactiver le compte. Synchronisez le dossier Google Drive avec un autre compte Google (non recommandé).
  • Augmenter l'espace de stockage. Obtenez de l'espace supplémentaire.

Options de synchronisation

  • Ne synchronisez que certains dossiers avec cet ordinateur. Cochez les cases en regard des dossiers dans la section «Mon disque» pour activer la synchronisation. Décochez les cases en regard des dossiers que vous n'avez pas besoin de synchroniser.
  • Synchronisez les objets auxquels j'ai accès. Si vous travaillez dans la nouvelle interface de disque, déplacez les fichiers et les dossiers de la section «Disponible» vers le dossier «Mon disque» pour les synchroniser avec l'ordinateur. Si vous utilisez la version classique de Disk, ajoutez des dossiers et des fichiers de la section «Disponible pour moi» dans le dossier «Mon disque».

Étendu

  • Exécutez Google Drive automatiquement lorsque vous allumez votre ordinateur. Google Drive lancera et synchronisera votre dossier sur votre ordinateur avec la section «My Drive».
  • Envoyez des rapports d'erreur et des statistiques d'utilisation à Google. Envoyez des informations à Google afin d'améliorer le service.
  • Serveur proxy Deux fonctions s'offrent à vous: «Connexion directe» et «Détecter automatiquement les paramètres du serveur proxy».
  • Autre Affiche les icônes de statut de synchronisation de fichier.

Sélectionnez les fichiers et les dossiers à synchroniser avec votre ordinateur. Tous les documents, feuilles de calcul, présentations, formulaires, images et tableaux récapitulatifs de Google sont synchronisés avec le dossier Google Drive de votre ordinateur. Pour désactiver la synchronisation, procédez comme suit:

1. Cliquez sur l'icône Google Drive.

  • Sur les ordinateurs Mac, vous pouvez généralement le trouver dans le panneau Menu situé dans le coin supérieur droit de l'écran.

2. Sélectionnez «Paramètres».

3. Décochez la case "Ne synchroniser que certains dossiers avec cet ordinateur".

4. Cliquez sur le bouton "Appliquer les modifications".

Section "Mon disque" (tous les fichiers ou dossiers individuels). Tous les fichiers et dossiers de la section «My Drive» sont synchronisés avec le dossier Google Drive de votre ordinateur. Pour configurer la synchronisation de dossiers individuels, procédez comme suit:

1. Déplacez les fichiers dans les dossiers que vous prévoyez de synchroniser.

2. Cliquez sur l'icône Google Drive sur votre bureau.

  • Sur les ordinateurs Mac, vous pouvez le trouver dans le panneau Menu en haut à droite de l'écran.
  • Sur ordinateurs Windows  L'icône est située dans la barre des tâches dans le coin inférieur droit de l'écran.

3. Sélectionnez «Paramètres».

4. Cochez la case "Synchroniser uniquement certains dossiers avec cet ordinateur".

5. Sélectionnez les dossiers que vous souhaitez synchroniser avec le dossier Google Drive.

6. Cliquez sur le bouton "Appliquer les modifications".

Travailler avec OneDrive

Si vous utilisez un système d'exploitation système de fenêtres  8.1, le référentiel One Drive vous est fourni par défaut. OneDrive est un stockage en ligne gratuit fourni avec votre compte. enregistrement Microsoft. Commencer à utiliser OneDrive est facile. Vous pouvez ajouter des fichiers déjà stockés sur votre ordinateur à OneDrive en les copiant ou en les déplaçant. Vous pouvez enregistrer de nouveaux fichiers sur OneDrive à utiliser à partir de tout appareil et les partager avec d'autres. Et si votre ordinateur est doté d'un appareil photo intégré, vous pouvez automatiquement sauvegarder vos photos dans OneDrive pour toujours en avoir une. Contrairement aux coffres précédents, vous pouvez enregistrer des fichiers directement sur One Drive sans les enregistrer sur votre ordinateur.

Fonctionnalités classiques de l'application intégrées à Windows

OneDrive synchronise les fichiers lors de l'enregistrement avec le compte Microsoft. Si l'application classique est installée sur un ordinateur exécutant Windows 8.1, le programme d'installation n'apparaît pas. Un composant sera installé qui permettra à Office de travailler avec des documents OneDrive simultanément avec d'autres utilisateurs, mais les autres composants ne seront pas installés. Si vous utilisez Windows 7 ou 8, vous pouvez télécharger l’application de gestion classique OneDrive à l’adresse onedrive.live.com/about/en-us/download/.

Pour utilisateurs Windows  8.1, il suffit de faire ce qui suit (voir écran 6):

  1. Ouvrez OneDrive dans l'Explorateur Windows.
  2. Cliquez avec le bouton droit sur le fichier (dossier) et sélectionnez «Rendre disponible hors connexion» ou «Rendre disponible uniquement via Internet».

Comme le montre la figure 8, pour synchroniser un disque Yandex, copiez simplement les fichiers correspondants dans le dossier Yandex.Disk. À première vue, cette approche de la synchronisation rappelle beaucoup celle de Google Disk. C'est en partie vrai.

À l'aide de l'application Web Yandex.Disk, vous pouvez télécharger l'application correspondante pour Windows. Pour une synchronisation sélective, vous devez accéder au panneau de configuration du disque Yandex et sélectionner l'onglet Synchronisation. Si vous décochez le dossier correspondant, il ne sera pas synchronisé. Pour télécharger des fichiers dans un dossier dont la synchronisation est désactivée, faites-y simplement glisser des fichiers dans l'explorateur. Ainsi, dans ce cas, le contenu du dossier racine du disque Yandex est toujours synchronisé et le contenu des sous-dossiers peut être synchronisé à votre choix.

La principale différence entre Yandex Disk et Dropbox et Google Disk est que vous pouvez enregistrer des fichiers sur Yandex.Disk directement à partir de Microsoft Office.

Ainsi, en utilisant le stockage "en nuage", vous pouvez non seulement augmenter espace libre sur votre disque dur, mais fournissez également une sauvegarde de vos fichiers les plus importants (documents, photos, etc.). Si nous comparons l'avantage de l'utilisation de la synchronisation sélective, la conclusion est claire. Dropbox et Google Disk sont tous deux configurés au niveau du dossier. Par conséquent, vous devez accéder à la boîte de dialogue «Paramètres» du service correspondant et spécifier manuellement les dossiers synchronisés et ceux qui ne le sont pas. La solution prend en charge menu contextuel  Explorer et vous permet de configurer la synchronisation et l'emplacement des fichiers n'existe aujourd'hui que par Microsoft.

  - solution pratique, fonctionnelle et économique. Handy Backup vous permet de ne pas utiliser la célèbre interface WebDAV pour Yandex.Disk, mais d'utiliser un accès direct.

Sauvegarde automatique sur Yandex.Disk

Avec Handy Backup, vous pouvez sauvegarder Yandex.Disk vers n’importe quelle donnée automatiquement, selon un planning défini à des intervalles de quelques mois à quelques minutes, ou à la suite d’un événement, ainsi que manuellement. Vous pouvez automatiser la copie de toutes les données, telles que:


Données utilisateur:

  • Fichiers et dossiers (avec recherche par masque de nom)
  • Bibliothèques Windows, dossiers utilisateurs
  • Fichiers et dossiers Microsoft Outlook d'autres clients de messagerie

Types de données du serveur:

  • Bases de données MS SQL, MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notes
  • Microsoft Exchange
  • Serveurs de contenu FTP, SFTP ou FTPS avec cryptage SSL / TLS
  • Sites Web (contenu statique et dynamique)


Machines virtuelles et stockage:

  • Hyper-V, VMware
  • Serveurs, matrices et hôtes de machines virtuelles
  • Clouds Google Drive, Dropbox, Amazon S3, OneDrive, Box, 4shared et autres
  • Tous les nuages ​​sur l'interface WebDAV

Autres types de données:

  • Images de disque
  • Données 1C en version fichier et SQL, pour 1C 7.7 et les solutions 1C 8, par exemple, 1C 8.2
  • Fichiers, dossiers et bibliothèques de machines réseau (pour solutions réseau)
  • Registre Windows

Avantages de la solution Handy Backup pour l'organisation de la sauvegarde sur Yandex.Disk

Protégez vos données

Handy Backup intègre un cryptage et une compression des données dans l'archive avec un mot de passe, ce qui vous permet de transférer en toute sécurité des informations commerciales sur des réseaux ouverts et de les stocker sur un service cloud public sans soucis d'intégrité des données.

Produit certification

Outre des certificats officiels de compatibilité avec toutes les solutions commerciales sérieuses énumérées dans la liste, la solution Handy Backup est également incluse dans. Registre unifié du russe logiciel  pour ordinateur.


Stockage ouvert de copies dans des formats source

Contrairement à la protection fiable fournie par le cryptage et la compression, Handy Backup crée généralement des copies de sauvegarde tout en préservant le format de fichier d'origine. Cela vous permet d'afficher, de modifier et même de restaurer des sauvegardes en tant que fichiers normaux.


Télécharger

Achetez-le!

Version 7.9.4 du 15 septembre 2017. 66,1 Mo
Programme de sauvegardeHandy Backup.   7400 RUB  pour licence

La solution Office Expert vous permet de copier n'importe quel type de données d'un ordinateur vers Yandex.Disk automatiquement selon un planning, directement ou via WebDAV. Période d'essai gratuite de 30 jours!

Comment créer une tâche de sauvegarde sur Yandex.Disk dans Handy Backup?

Au lieu d’une sauvegarde WebDAV obsolète sur Yandex.Disk, la sauvegarde est maintenant utilisée pour organiser la sauvegarde. nouveau plugin Handy Backup Yandex Disk  avec accès à service cloud  via l'interface RestAPI. Pour l'utiliser, procédez comme suit:

  1. Ouvrez Handy Backup et créez une nouvelle tâche à l’aide du bouton du panneau ou du menu.
  2. Sélectionnez une tâche de sauvegarde.
  3. Aller à Étape 2  et sélectionnez les données souhaitées pour créer une sauvegarde.
  4. Sur Étape 3  sélectionnez le plugin dans la liste des stockages Yandex.Disk, double-cliquez dessus.


  1. Dans la fenêtre qui s'ouvre, double-cliquez sur "Nouvelle configuration". Une nouvelle boîte de dialogue s'ouvrira.

  1. Appuyez sur le bouton “Connectez-vous à Yandex.Disk”. Vous serez redirigé vers le navigateur.
  2. Dans la fenêtre du navigateur, entrez login et mot de passe pour l'accès  à Yandex.Disk. Confirmer la sélection.


  1. Retournez à la fenêtre Handy Backup et sélectionnez la configuration créée.
  2. Ensuite, continuez à personnaliser la tâche comme d'habitude. Sur Étape 6  spécifier un horaire.
  3. Dans la dernière étape, attribuez un nom à votre tâche et terminez l’assistant de création de tâche.

Votre tâche de sauvegarde automatique sur Yandex.Disk est prête à être exécutée et continuera de s’exécuter à un intervalle spécifié. temps prédéfini. Vous pouvez également le démarrer manuellement à tout moment.

Note:  De même, des tâches sont créées pour copier des données vers d'autres services cloud: Google Drive, Dropbox, Microsoft OneDrive, Amazon S3, Box, etc.

Tutoriel vidéo sur la sauvegarde de disque Yandex

Ce didacticiel vidéo couvre les instructions pour la sauvegarde sur Yandex Disk, ainsi que la sauvegarde des données stockées dans ce nuage.

Attention: Ce didacticiel vidéo est basé sur l'hypothèse que le logiciel Handy Backup est déjà installé sur l'ordinateur. Si ce n'est pas le cas, veuillez télécharger et installer Handy Backup avant de commencer la formation, conformément au didacticiel vidéo.

Sauvegarde sur Yandex.Disk via WebDAV

Malgré la disponibilité d'un nouvel outil pour un accès direct au service Yandex.Disk, dans certains cas, la méthode traditionnelle peut être préférable, par exemple, la sauvegarde d'un site sur Yandex.Disk via WebDAV à l'aide d'un utilitaire de cryptographie externe.

Handy Backup prend entièrement en charge la sauvegarde sur Yandex.Disk à l'aide du protocole WebDAV.

  • Pour utiliser WebDAV pour accéder à Yandex.Disk, sélectionnez le plug-in WebDAV à l'étape 3, à l'aide de l'algorithme de création de tâche décrit ci-dessus. Dans la boîte de dialogue de configuration WebDAV, entrez vos paramètres d’accès Yandex.Disk.

Attention:  Lors de l'utilisation de WebDAB, la sauvegarde sur Yandex.Disk peut être un peu plus lente qu'avec un accès direct. Par exemple, la sauvegarde de 1C sur Yandex.Disk prend généralement beaucoup de temps lors de l’utilisation de WebDAV.

La sauvegarde automatique sur Yandex.Disk avec Handy Backup est devenue encore plus simple et rapide avec l’introduction d’un nouvel outil utilisant un accès direct au service cloud Yandex. Essayez vous-même en téléchargeant la version d'évaluation gratuite de 30 jours!

Bonjour les amis!

Cela fait 4 ans que j'ai écrit pour la dernière fois sur le blog. Pendant ce temps, accumulé une large base de connaissances et d'expérience. Beaucoup de travail intéressant a été effectué et de nombreux projets intéressants ont été achevés. Sur certains d'entre eux (lire: "sans violer les secrets commerciaux"), je vais essayer de raconter dans plusieurs messages.
M'a motivé à rendre plusieurs choses à la fois. Tout d’abord, il s’est avéré que beaucoup de choses écrites n’avaient pas perdu leur pertinence. Deuxièmement, il s'est avéré que les gens aimaient le lire. C'était très bien :) Exemple: il y a trois mois, lors d'une interview, on m'a demandé pourquoi j'avais abandonné mon blog, félicité. Ils ont dit que s'ils le prenaient, j'écrirais pour leurs journaux muraux. Pas pris, donc je n'écrirai pas pour le mur.

Mais ce sont toutes les paroles, passons aux choses sérieuses.
Il y avait une tâche pour configurer une sauvegarde sur Yandex.Disk. En soi, il y a beaucoup de scripts, mais la plupart d'entre eux offrent la copie simple d'un fichier sans vérifier le fait de copier, sans rapports et autres choses. En fin de compte, un homme bon m'a jeté un lien vers le blog d'un certain camarade portant le surnom de del, qui a décidé ce problème. Compte tenu de son surnom, j'ai lu le script, puis vérifié le test. Tout fonctionne bien, tous les fichiers sont en place, rien n’est envoyé sur le côté.
Je vous préviens que le script n'archive pas les données. C'est à dire la compression est, mais c'est minime. Si vous avez besoin de compresser les données normalement, nous fumons "tar --help" ou "man tar" pour FreeBSD. Au fait, j’adore vraiment FreeBSD pour leur homme. Plus précisément, pour le besoin quasi permanent de les lire. Chaque fois que vous lisez, vous avez le sentiment que "à peu près ... maintenant un tueur va apparaître ...", mais encore une fois déception. Ni meurtrier ni sens de la vie.

Maintenant, le script lui-même. Notez qu'un dossier d'application sera créé dans le répertoire racine de votre disque. Cherchez tout là-bas. De plus, le script laisse tous les commentaires en russe, ce qui peut poser des problèmes d’encodage à beaucoup. Décisions, comme d'habitude, deux. Soit on installe celui qui est nécessaire sur le serveur, soit on réécrit tout en translit. Vous pouvez même traduire en anglais. Ce dernier est le meilleur parce que qui veut lire des citations du rendez-vous du médecin Necronomicon ou manuscrit.
Notez également qu'au début du script est standard #! / bin / bash

Notez que FreeBSD ne peut pas fonctionner avec bash, vous devez donc remplacer cette ligne par #! / bin / shsinon cela ne commencera pas.

Il peut être nécessaire d’étaler des sauvegardes de projets (sites) sur Yandex.Disk pour plusieurs raisons, par exemple, par manque d’espace sur le serveur (hébergement, VDS, VPS) ou pour augmenter la sécurité du stockage de sauvegarde (dans le cas où le serveur est sans raid et s’il bâtiment).

À cet égard, j'ai écrit pour moi-même et j'ai décidé de créer pour les autres un petit script bash de sauvegarde sur Yandex.Disk. Fonctions de script:
- Création de projets sur le serveur de sauvegarde (fichiers + bases de données MySQL);
- Autorisation sur Yandex.Disk en tant qu’application (par jeton, plus moyen sûrqu'en utilisant login et mot de passe);
- Envoi de sauvegardes du serveur vers Yandex.Disk;
- Supprimez les anciennes sauvegardes de Yandex.Disk pour économiser de l'espace (le nombre maximum de sauvegardes stockées est configuré);
- Enregistrer et envoyer le journal à l'e-mail (personnalisable).

Pour utiliser le script, vous devez d’abord obtenir un jeton auprès de Yandex.Disk. Commençons

1. Nous nous connectons à Yandex sous le compte, sur le disque sur lequel nous allons faire une sauvegarde, allons à oauth.yandex.ru et cliquez sur "Enregistrer une nouvelle application".

2. Entrez le nom de l'application (par exemple, «sauvegarde») et indiquez les droits nécessaires dans la section «API REST Yandex.Disk», à savoir: «Informations d'accès au disque» et «Accès au dossier de l'application sur le disque».

Ci-dessous, sur la même page, sous le champ «URL de rappel», cliquez sur «URL de remplacement pour le développement», puis sur «Enregistrer»:

3. Après avoir enregistré les paramètres de l'application, nous serons redirigés vers la page contenant des informations sur l'application:

4. Nous allons maintenant obtenir le jeton lui-même (si vous le souhaitez, vous pouvez en savoir plus à ce sujet dans le manuel de Yandex). Pour cela, nous copions l'ID, substituons l'URL https://oauth.yandex.ru/authorize?response_type=token&client_id= à la fin, accédez à l'adresse suivante. et confirmez la délivrance des autorisations à l'application:

En conséquence, la page affichera un jeton émis pendant au moins un an. Par conséquent, si le script de sauvegarde cesse soudainement de fonctionner, nous pourrons obtenir un nouveau jeton et le remplacer dans le script. Vous pouvez tester les possibilités d'utilisation de Yandex.Disk en utilisant le jeton reçu sur un site de test spécial.

Et maintenant, le script bash pour la sauvegarde sur Yandex.Disk:


#! / bin / bash # # Script de sauvegarde Yandex.Disk v1.0 de Sergey Lukonin (neblog.info) # # # # # # # # # # # Serveur MYSQL # # # # # # # # # # DB MYSQL_SERVER = mysql.some-server.ru # utilisateur, sous lequel nous allons sauvegarder les bases de données disponibles, la racine mysql est généralement accessible à toutes les bases de données; la base de données d'un projet particulier est généralement accessible à un utilisateur particulier. MYSQL_USER = utilisateur # mot de passe de l'utilisateur de la base de données (mot de passe root du serveur) et ne confondez pas depuis la racine de mysql) MYSQL_PASSWORD = un-mot-de-passe # # # # # # # # # # REGLAGES GENERAUX # # # # # # # # # # Répertoire pour le stockage temporaire des sauvegardes supprimées après l'envoi à Yandex.Disk BACKUP_DIR = "/ home / www / backup" # Nom du projet utilisé dans les journaux et les noms d’archives PROJECT = "neblog.info" "# nombre maximum de sauvegardes stockées sur Yandex.Disk (0 - stocker toutes les sauvegardes): MAX_BACKUPS =" 14 "# date, utilisée dans les noms d’archives DATE =` date "+ % Y-% m-% d "` # Répertoires d'archivage (indiqués par un espace), qui seront placés dans une archive unique et envoyés à Yandex.Disk DIRS = "/ home / www / projects / neblog" # Jeton Yandex.Disk ( comment l'obtenir - voir sur neblog.info) TOKEN = "" # Le nom du fichier journal est stocké dans le répertoire spécifié dans $ BACKUP_DIR LOGFILE = "backup.log" # E-mail pour envoyer le résultat de l'exécution du script. Laissez ce champ vide si l'envoi des résultats n'est pas requis. sendLog = "[email protected]" # N'envoie que des erreurs (true). Spécifiez false si vous souhaitez envoyer des journaux pour tout résultat de l'exécution du script. sendLogErrorsOnly = "false" # # # # # # # # # # # FIN DE PARAMÈTRES # # # # # # # # # # # # # # # # # # Ne changez rien! # # # # # # # # fonction function mailing () (si [! $ sendLog = ""]; alors si ["$ sendLogErrorsOnly" == true]; alors si echo "$ 1" | grep -q "erreur" then echo "$ 2" | mail -s "$ 1" $ sendLog\u003e / dev / null fi else echo "$ 2" | mail -s "$ 1" $ sendLog\u003e / dev / null fi fi) fonction logger () (echo "[ "` date "+% Y-% m-% d% H:% M:% S" `"] Fichier $ BACKUP_DIR: $ 1 "\u003e\u003e $ BACKUP_DIR / $ LOGFILE) fonction parseJson () (regex de sortie locale =" ( \\ "$ 1 \\": [\\ "]?) ([^ \\", \\)] +) ([\\ "]?)" "[[$ 2 = ~ $ regex]] && output = $ (BASH_REMATCH) echo $ output ) function checkError () (echo $ (parseJson "erreur" "$ 1")) fonction getUploadUrl () (json_out = `curl -s -H" Autorisation: OAuth $ TOKEN "https://cloud-api.yandex.net: 443 / v1 / disk / resources / upload /? Path = app: / $ backupName & overwrite = true` json_error = $ (checkError "$ json_out") si [[$ json_error! = ""]; Puis enregistrez "$ PROJECT - Yandex .Disk error: $ json_error "mailing" $ PROJECT - Erreur de sauvegarde Yandex.Disk "" Fichier de copie d'erreur $ FILENAME. Erreur Yandex.Disk: $ json_error "echo" "sinon dépassé t = $ (parseJson "href" $ json_out) echo $ sortie fi) function uploadFile (local json_out local uploadUrl local json_error uploadUrl = $ (getUploadUrl) si [[$ uploadUrl! = ""]]; then echo $ UploadUrl json_out = `curl -s -T $ 1 -H" Autorisation: OAuth $ TOKEN "$ uploadUrl` json_error = $ (checkError" $ json_out ") if [[$ json_error! =" "]; then logger "Erreur $ PROJECT - Yandex.Disk: $ json_error" lors de l'envoi du message "$ PROJECT - Erreur de sauvegarde Yandex.Disk" "Fichier de copie d'erreur $ FILENAME. Erreur de Yandex.Disk: $ json_error" autre enregistreur "$ PROJECT - Copie du fichier dans Yandex .Disk success "mailing" $ PROJECT - Succès de la sauvegarde Yandex.Disk "" Fichier de copie SUCCESS $ FILENAME "fi else echo" Des erreurs se sont produites. Vérifiez le fichier journal pour plus de détails "fi) function backupslist () (# recherche tous les fichiers du répertoire de l'application sauvegardes et affichent leurs noms: curl -s -H "Autorisation: OAuth $ TOKEN" "https://cloud-api.yandex.net:443/v1/disk/resources?path=app:/&sort=created&limit=100" | tr "()," "\\ n" | grep "nom [[: graph:]] *. tar.gz" | cut -d: -f 2 | tr -d "" ") function backups_count () (local bkps = $ (liste_sauvegardes | wc -l) # Si nous sauvegardons les fichiers et la base de données, nous avons 2 fichiers pour 1 sauvegarde. Par conséquent, le nombre de sauvegardes = le nombre de fichiers / 2: expr $ bkps / 2), fonction remove_old_backups () (bkps = $ (backups_count) old_bkps = $ ((bkps - MAX_BACKUPS)) if ["$ old_bkps" -gt "0"]; enregistreur "Supprimer les anciennes sauvegardes de Yandex.Disk" # Cycle de suppression des anciennes sauvegardes: # Nous supprimons le premier fichier de la liste 2 * old_bkps une fois pour i dans `eval echo (1 .. $ ((old_bkps * 2)))` `do curl -X DELETE -s -H "Autorisation: OAuth $ TOKEN" "https://cloud-api.yandex.net:443/v1/disk/resources?path=app:/$(backups_list | awk" (NR == 1) ") & en permanence = true" done fi) logger "--- $ PROJECT START BACKUP $ DATE ---" logger "Décharge la base de données" mkdir $ BACKUP_DIR / $ DATE pour i dans `mysql -h $ MYSQL_SERVER -u $ MYSQL_USER -p $ MYSQL_PASSWORD -e "afficher les bases de données;" | grep -v information_schema | grep -v Database`; do mysqldump -h $ MYSQL_SERVER -u $ MYSQL_USER -p $ MYSQL_PASSWORD $ i\u003e $ BACKUP_DIR / $ DATE / $ i.sql; done logger "Créer une archive mysql $ BACKUP_DIR / $ DATE-mysql- $ PROJECT.tar.gz" tar -czf $ BACKUP_DIR / $ DATE-mysql- $ PROJECT.tar.gz $ BACKUP_DIR / $ DATE rm -rf $ BACKUP_DIR / $ Enregistreur DATE "Création d'une archive de $ BACKUP_DIR / $ DATE-fichiers- $ PROJECT.tar.gz" répertoires "tar -czf $ BACKUP_DIR / $ DATE-fichiers- $ PROJECT.tar.gz $ DIRS FILENAME = $ DATE-mysql- $ PROJECT. "Nous téléchargeons l'archive mysql $ BACKUP_DIR / $ DATE-mysql- $ PROJECT.tar.gz dans Yandex.Disk" backupName = $ DATE-mysql- $ PROJECT.tar.gz uploadFile $ BACKUP_DIR / $ DATE-mysql- $ PROJECT.tar.gz FILENAME = $ DATE-files- $ PROJECT.tar.gz logger "Nous téléchargeons sur Yandex.Disk une archive avec $ BACKUP_DIR / $ DATE-files- $ PROJECT.tar.gz files" backupName = $ DATE-files- $ PROJECT.tar.gz uploadFile $ BACKUP_DIR / $ DATE-files- $ PROJECT.tar.gz logger "Supprimez les archives de la" recherche $ BACKUP_DIR-type f -name "* .gz" -exec rm "()"; # Supprimer les anciennes sauvegardes de Yandex.Disk (si MAX_BACKUPS\u003e 0) si [$ MAX_BACKUPS -gt 0]; alors remove_old_backups; fi logger "Fin du script de sauvegarde"

Vous pouvez également télécharger le fichier de script terminé. Le script doit être situé sur le serveur, remplacez les paramètres qu'il contient par les vôtres, donnez le droit de s'exécuter (chmod + x) et exécutez une exécution quotidienne dans cron. Si vous envisagez d'effectuer plusieurs tâches de ce type, définissez le délai entre leur lancement (5 à 10 minutes).

Vous aimez cet article? Partager avec des amis: