Bonjour,
Je n'y connais pas encore grand chose en script bash. Aussi, j'aimerais que quelqu'un m'explique ou réalise en m'expliquant (si vous avez le temps bien sûr) la création de celui-ci.
Je m'explique :
Je possède un site web et un compte premium chez mega.nz.
J'aimerais que vous m'expliquiez ou me fassiez en m'expliquant un script shell qui contiendrait par exemple un cron qui me permettrait sur Mega.nz de faire deux sauvegardes par semaines des bases de données en .sql.tar.gz et une fois par semaine une sauvegarde du site complet qui pèse environ 3 Go.
D'avance merci.
Je paie une bière à celui ou celle qui y parvient.
[Thème] Script - Aide importante à la création d'un script shell
-
- Daikyu
- Messages : 71
- Inscription : dim. 09 oct. 2016, 18:54
- Localisation : Belgique
[Thème] Script - Aide importante à la création d'un script shell
CPU : 6 x Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Carte graphique : NVIDIA Corporation GP107 [GeForce GTX 1050]
Audio : NVIDIA Corporation GP107GL High Definition Audio Controller
Network controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
PCI bridge : Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
Host bridge : Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
Ram : 16 Go
Carte graphique : NVIDIA Corporation GP107 [GeForce GTX 1050]
Audio : NVIDIA Corporation GP107GL High Definition Audio Controller
Network controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
PCI bridge : Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
Host bridge : Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
Ram : 16 Go
Re: [Thème] Script - Aide importante à la création d'un script shell
Bonjour,
Il ne faut pas être nécessairement un "as" de la programmation pour faire un script bash, de la même manière qu'il n'est pas nécessaire d'être plombier chauffagiste pour purger un radiateur ou déboucher un siphon chez soi Ne pas être un professionnel dans un domaine ne signifie pas obligatoirement "hors de notre portée".
Un script bash peut se contenter d'être une succession de commandes. Évidemment il est possible de l'améliorer mais ce n'est pas une obligation, tant que ça fonctionne et que cela suffit à celui qui l'utilise, c'est le principal.
Par exemple je peux faire ceci, c'est concis et visuellement paraît "plus pro":
Mais si à la place je fais tout simplement ceci, ce n'est pas élégant c'est long et redondant mais ça fonctionne tout aussi bien:
Pour ton script, tu as identifié tes besoins:
1) faire une sauvegarde des données spécifiques de ton site
2) être capable d'envoyer une archive sur ton compte MEGA
3) répéter le script à heure précise
Il ne te reste plus qu'à savoir le faire en ligne de commande:
1) créer une archive tar.gz d'un ou plusieurs dossiers
2) dans le dépôt AUR il y a une application qui s'appelle "megatools" qui doit pouvoir remplir cette tâche qui correspond à l'envoi
3) la création d'un cron sous systemd ce fait avec des timers (voir le wiki fr ou le wiki us)
Après c'est de la mise en forme, du temps et des essais, la partie la plus marrante et frustrante à la fois
Pour debugger ton script tu le démarres avec l'option '-x' (par ex: "bash -x mon_script.sh"), ça aide beaucoup et cela rend le déroulement du script plus bavard, donc les erreurs sont mieux identifiables.
À mon avis tu trouveras toujours quelqu'un pour te donner un coup de main ou trouver une solution si tu fais face à un problème, mais de là à tout faire à ta place j'ai des doutes même pour une bière
Voilà en espérant que cela t'aidera un petit peu dans ton projet.
Allez courage .
PS:
Je me permets de faire une remarque à propos du titre de ton poste, la syntaxe correcte c'est ton thème qui est à mettre en crochet, pas le mot "thème" lui-même :
[Script] Aide importante à la création d'un script shell
Il ne faut pas être nécessairement un "as" de la programmation pour faire un script bash, de la même manière qu'il n'est pas nécessaire d'être plombier chauffagiste pour purger un radiateur ou déboucher un siphon chez soi Ne pas être un professionnel dans un domaine ne signifie pas obligatoirement "hors de notre portée".
Un script bash peut se contenter d'être une succession de commandes. Évidemment il est possible de l'améliorer mais ce n'est pas une obligation, tant que ça fonctionne et que cela suffit à celui qui l'utilise, c'est le principal.
Par exemple je peux faire ceci, c'est concis et visuellement paraît "plus pro":
Code : Tout sélectionner
#!/usr/bin/env bash
mkdir /tmp/Dossier{1..3}
touch /tmp/Dossier{1..3}/fichier{1..3}.txt
Code : Tout sélectionner
#!/usr/bin/env bash
cd /tmp
mkdir Dossier1
mkdir Dossier2
mkdir Dossier3
touch Dossier1/fichier1.txt
touch Dossier2/fichier2.txt
touch Dossier3/fichier3.txt
1) faire une sauvegarde des données spécifiques de ton site
2) être capable d'envoyer une archive sur ton compte MEGA
3) répéter le script à heure précise
Il ne te reste plus qu'à savoir le faire en ligne de commande:
1) créer une archive tar.gz d'un ou plusieurs dossiers
2) dans le dépôt AUR il y a une application qui s'appelle "megatools" qui doit pouvoir remplir cette tâche qui correspond à l'envoi
3) la création d'un cron sous systemd ce fait avec des timers (voir le wiki fr ou le wiki us)
Après c'est de la mise en forme, du temps et des essais, la partie la plus marrante et frustrante à la fois
Pour debugger ton script tu le démarres avec l'option '-x' (par ex: "bash -x mon_script.sh"), ça aide beaucoup et cela rend le déroulement du script plus bavard, donc les erreurs sont mieux identifiables.
À mon avis tu trouveras toujours quelqu'un pour te donner un coup de main ou trouver une solution si tu fais face à un problème, mais de là à tout faire à ta place j'ai des doutes même pour une bière
Voilà en espérant que cela t'aidera un petit peu dans ton projet.
Allez courage .
PS:
Je me permets de faire une remarque à propos du titre de ton poste, la syntaxe correcte c'est ton thème qui est à mettre en crochet, pas le mot "thème" lui-même :
[Script] Aide importante à la création d'un script shell
Re: [Thème] Script - Aide importante à la création d'un script shell
bonjour
comme CoudUr, demander un script de A à Z n'a pas de sens:
- pas d’intérêt de lancer le script depuis "la maison" sinon autant faire la sauvegarde à la maison
- aucune idée de l'hébergement: avec mega je suppose qu'il faut impérativement installer un binaire sur le serveur (si pas vpn/dédié on oublie)
- Existe de très nombreux scripts php/sh sur le web pour la sauvegarde bd/site web donc en fait ton seul problème est mega ! et c'est un truc bien particulier (une ligne ou 2 lignes à modifier ? ftp par un truc mega)
comme CoudUr, demander un script de A à Z n'a pas de sens:
- pas d’intérêt de lancer le script depuis "la maison" sinon autant faire la sauvegarde à la maison
- aucune idée de l'hébergement: avec mega je suppose qu'il faut impérativement installer un binaire sur le serveur (si pas vpn/dédié on oublie)
- Existe de très nombreux scripts php/sh sur le web pour la sauvegarde bd/site web donc en fait ton seul problème est mega ! et c'est un truc bien particulier (une ligne ou 2 lignes à modifier ? ftp par un truc mega)
C'est l'inverse ! tu fais ton script classique (sh,php,python,...) qui fonctionne en ligne de commande, et ensuite ce n'est que de l'administration linux: il est lancé automatiquement par cron ou systemd timerobelix1502 a écrit : ↑mar. 08 déc. 2020, 01:09 un script shell qui contiendrait par exemple un cron qui me permettrait
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
-
- Daikyu
- Messages : 71
- Inscription : dim. 09 oct. 2016, 18:54
- Localisation : Belgique
Re: [Thème] Script - Aide importante à la création d'un script shell
Oui justement, après avoir utilisé mysqldump, j'aurais redirigé la sauvegarde depuis mon serveur qui contient mon site vers Mega.nz.
Ils m'ont créé un client ftp. Donc, il doit y avaoir moyen en commandes ftp (que je ne connais pas du tout) de renvoyer le fichier compressé zonep-20122020.sql.tar.gz vers Mega.
Si je veux le faire d'une telle façon, c'est du fait que je ne suis pas le seul à gérer le site. Donc en cas de plantage, les autres pourront récupérer la base de donnée via Mega.nz car c'est un compte commun
Étant donné que je suis très gravement malade, on ne sais jamais. De plus cette maladie ralenti très fortement mes neurones, cela dépend des jours.
Merci à tous.
Ils m'ont créé un client ftp. Donc, il doit y avaoir moyen en commandes ftp (que je ne connais pas du tout) de renvoyer le fichier compressé zonep-20122020.sql.tar.gz vers Mega.
Si je veux le faire d'une telle façon, c'est du fait que je ne suis pas le seul à gérer le site. Donc en cas de plantage, les autres pourront récupérer la base de donnée via Mega.nz car c'est un compte commun
Étant donné que je suis très gravement malade, on ne sais jamais. De plus cette maladie ralenti très fortement mes neurones, cela dépend des jours.
Merci à tous.
CPU : 6 x Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
Carte graphique : NVIDIA Corporation GP107 [GeForce GTX 1050]
Audio : NVIDIA Corporation GP107GL High Definition Audio Controller
Network controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
PCI bridge : Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
Host bridge : Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
Ram : 16 Go
Carte graphique : NVIDIA Corporation GP107 [GeForce GTX 1050]
Audio : NVIDIA Corporation GP107GL High Definition Audio Controller
Network controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
PCI bridge : Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16)
Host bridge : Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
Ram : 16 Go