this post was submitted on 07 Nov 2023
9 points (90.9% liked)

Technologie - 🤖

546 readers
30 users here now

Ici concerne le champs de domaine large de la technologie : actualités sur l'informatique, partage de programme informatique et de code, montrer vos projets Arduino, ect.

Mégafil ici

founded 1 year ago
MODERATORS
 

Hello ! Je gère plusieurs serveurs et j'ai envie de progresser :)

Jusque là, je gère un peu tout ça à la main et ligne de commande. Et là j'ai envie d'automatiser le processus de sauvegarde, update de toutes mes machines en 1 click.

Et je sais pas trop par quoi commencer. Ya le script bash, ansible, cronjob, droit écriture, les tables ip et lire les connexions...

j'ai des bases fragiles, où je ne comprends pas ce qui se passe, ni lire les logs. Et j'ai toujours ce manque d'espace dans les fichiers système malgré les nettoyages et tuto linux...

Jusqu'ici, j'appuie sur le bouton installer, suit une docu mais je trouve très peu d'informations sur comment avoir un bon environnement de travail, bien sécurisé et surveiller les serveurs, machines, connexions entrantes...

Il me manque un schéma d'organisation des machines...et du coup, qu'elles ressources vous me recommandez ?

Coté serveurs, je suis sur la stack LAMP. Et mes machines sont sous linux.

Merci ☺️

top 19 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (2 children)

Voici quelques ressources gratuites sur Linux pour un SysAdmin :

Ces 2 documents couvrent de bonnes bases, qui sont valables bien au-delà des distributions pour lesquelles ils ont été écrits.

[–] [email protected] 4 points 1 year ago (1 children)

Merci, c'est parfait. Effectivement, Debian est l'OS de mes serveurs. 😁

Sinon, ya t-il une docu qui aborde les schema d'administration ? Genre comment gerer 30 machines pour une classe ? Ou le système de sauvegarde et script qui l'automatise ? La co-gestion de serveur ? :)

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Les questions que tu poses sont des classiques, pour lesquelles il n'y a pas une seule vraie réponse. Cela dépend du besoin et chaque sysadmin a ses préférences en fonction de son expérience. Je vais essayer de te donner des pistes, mais je t'invite à faire tes propres recherches.

Dans tous les cas, RTFM pour apprendre à utiliser un outil.

ya t-il une docu qui aborde les schema d’administration ? Genre comment gerer 30 machines pour une classe ?

Si par schéma, tu veux dire diagramme, je ne connais pas de doc, chaque équipe a sa propre méthode pour faire des schémas. Le plus important est de définir ce que tu veux représenter. Un bon outil pour commencer : draw.io, il y a de bons exemples.

Si par schéma tu veux dire une méthode, une doctrine, tu peux regarder du côté du classique couple déploiement par debian-installer + LDAP/NFS, décrit dans le guide de l'admin Debian ou alors du plus moderne et moins centralisé Ansible, que tu as déjà cité. Les 2 ont chacun leurs avantages/inconvénients. LDAP/NFS est un peu complexe à mettre en œuvre, mais une fois que c'est fait, tu n'auras plus à y toucher. Ansible permet de faire beaucoup de choses, sa doc est très complète mais sacrément bordélique.

Ou le système de sauvegarde et script qui l’automatise ?

De nos jours, personnellement, je partirais sur borg et borgmatic pour l'automatisation. 2 règles pour les sauvegardes :

  • la stratégie du 3-2-1
  • tant que tu l'as pas testée, ta sauvegarde est une sauvegarde de Schrödinger : elle existe dans un état superposé de "pourra restaurer" / "ne pourra pas restaurer".

La co-gestion de serveur

Pour gérer plusieurs machines à plusieurs : sudo est ton ami. Tu désactives le mot de passe du compte root et tu donnes les droits sudo à tous tes admins. Ca permet la traçabilité et d'éviter de se partager un mot de passe. Tu peux même aller assez finement dans les droits, voir même les distribuer par LDAP, mais ça nécessiterais un chapitre entier pour te donner les détails.

J'espère que ça te donnera des idées. Un dernier conseil : vas-y progressivement, ne cherche pas à tout faire d'un coup.

[–] [email protected] 3 points 1 year ago

Dans tous les cas, RTFM pour apprendre à utiliser un outil.

Ce que je fais déjà mais j'atteins ma limite et ça me prends trop de temps. La docu nextcloud aborde les dossier à sauvegarder mais pas tellement un protocole. Là je sauvegarde le dossier via sftp.

Si par schéma tu veux dire une méthode, une doctrine, tu peux regarder du côté du classique couple déploiement par debian-installer + LDAP/NFS, décrit dans le guide de l'admin Debian ou alors du plus moderne et moins centralisé Ansible, que tu as déjà cité.

C'est exactement ce que je cherche. Je regarde aussi puppet, chef :)

tant que tu l'as pas testée, ta sauvegarde est une sauvegarde de Schrödinger : elle existe dans un état superposé de "pourra restaurer" / "ne pourra pas restaurer".

Ça je ne le fait pas, donc me créer un environnement de test.

les sauvegardes mutiples pas de soucis, et j'utilise mon PC pour stocker ces données. J'ai pas de 2ème serveur pour la sauvegarde pour des raisons de budget. Peut-etre me prendre un nas pour les backup et répliquer les données.

les distribuer par LDAP, mais ça nécessiterais un chapitre entier pour te donner les détails

Je le vois souvent mentionné. De ce que j'ai compris, c'est un annuaire, je crois ou je confond avec autre chose. Ça vaut le coup de l'étudier. ☺️

En tout cas merci pour tes retours. ☺️

Donc au final, ma to do list done ça :

  • relire le manuel de linux.
  • apprendre à faire des scripts et le tester entre 2 machines via ssh (+ dossiers partagés entre machines.).
  • Faire cette opération pour nextcloud.
  • mettre en place un environnement de test pour mes web app en local
  • apprendre Ansible ou LDAP
  • lire iptable + monitorer le network d'un serveur.
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

Tellement evident que jyai pas pensé.
Jai envie de dire,

Just this !!

Ca couvre les bases en utilisant les outils de bases et largement répandu sur n'importe quelle distro, ca fait découvrir les outils. Montre des cas d'exemples et usages. Juste cela !!!

[–] [email protected] 3 points 1 year ago (1 children)

https://yunohost.org/fr peut être une bonne base pour démarrer, le projet est justement de permettre aux gens d'auto héberger des sites

[–] [email protected] 2 points 1 year ago (3 children)

J'en heberge déjà. Là j'ai l'impression de relire l'installation de nextcloud. Mais ya pe des parties plus technique dans leur docu ? 😁

J'aimerai juste ne plus avoir à taper des ligne de commande à la chaine, télécharger le backup depuis sftp, le stocker sur l'ordi, puis copier sur un autre support...je souhaite l'automatiser de meme pour mes ordi, je veux plus les mettre à jour un par un et j'ai envie qu'iels aient les meme apps, que si j'en installe une ou supprime que ça le réplique sur mes machines.

Donc l'executer avec un petit script et ne plus le faire à la main. :)

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

Tu en penses quoi du coup de Yuno Host? J'hésite à passer mon serveur perso là dessus, j'en ai un peu marre de devoir me taper une doc de 2km de long pour chaque outil Cloud que je veux installer et que je dois maintenir ensuite. Ça me plaît bien l'idée de la distro avec les solutions déjà prêtes pour que je me concentre sur la configuration de l'outil et une maintenance un peu facilitée (des fois, je repousse les MAJ parce que ~~la flemme~~ pas le temps et c'est mal).

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

En vrai on fait tous nos scripts maisons selon les besoins. Si tu sais taper des lignes de commande tu peux créer un script.

Tu créés juste un fichier finissant par SH ou pas. Tu mets ta premiere ligne : '#!/sur/env bash' Tu saves, chmod +x et voilà tas un script.

Et ce que tu faisais a la main, tu met grosso modo ligne/ligne dans le fichier.

Déjà avec cette méthode tu peux récupérer tes backups et en créer rien qu'en mettant ton script en cron.

Et après lance toi sur les conditions et les fonctions bash genre "case" et tes scripts deviendront un peu plus évoluer

Petit a petit comme tas du faire jusqu'à maintenant.

Du coup selon ton post je dirais rtfm de bash et python en bonus. Pour savoir que tu peux vérifier la présence de fichiers ou non avec un built in ou une commande bash etc etc.

Après le reste cest des principes a apprendre. N'apprend pas la doc iptables si tes notions de réseaux sont faibles. Apprend les généralités car après cest de la mise en application valable globalement sur n'importe quel os.

My 2 cents de non professionnel de l'IT

[–] [email protected] 2 points 1 year ago (1 children)

Pour les iptable, je vais devoir l'apprendre vu que mes web app sont partagées à présent avec 10 personnes et ya minetest. Donc si je monitore pas un minimum les connections entrantes...😅

Cool, donc script bash pour commencer, merci ! :)

[–] [email protected] 3 points 1 year ago (1 children)

Tiens avec ce lien jai look viteuf, ca te montre que le scripting cest juste dans un premier temps ce que tu fais à la main dans le terminal mais dans un fichier texte que tu sauvegardes lol, et aussi comment use iptables.

https://doc.ubuntu-fr.org/iptables.

Ca couvre les besoins de bases du coup et de ton cas.

[–] [email protected] 1 points 1 year ago
[–] [email protected] 2 points 1 year ago (1 children)

Ah oui pardon, tu es déjà plus loin 😄

J'imagine que quelqu'un d'autre aura des ressources :)

[–] [email protected] 2 points 1 year ago (1 children)

Loin, pas tellement, je reste un gros débutant. C'est pas évident de suivre une docu 😁

En tout cas merci, je vais la lire ya pe des choses que j'apprendrais. ☺️

[–] [email protected] 4 points 1 year ago (1 children)

Le mieux c'est presque de mettre les mains dans le camboui. Tu montes pas exemple un proxmox ou autre truc du style. Une fois que tu as des VM qui tournent, tu as un bac à sable pour faire des tests sans craintes! Par exemple pour l'histoire des backup, tu regarde rapidement quelles solutions existent puis tu vas voir la documentation de la solution en question! Si tu te rends comptes que tu effectues tout le temps les mêmes commandes, tu vas les mettres dans un scripts pour les rassembler et ainsi de suite.

[–] [email protected] 2 points 1 year ago (1 children)

Effectivement j'utilise les meme commandes ou effectue la meme action. Et j'aimerai l'automatiser depuis mon ordi. Faut que je scripte, ça me fera gagner du temps. :)

Ya pas un soucie de ressource si j'utilise plusieure VM ?

Pour les backup, je le fais via sftp et phpAdmin, à la main. Me connecter à ci, puis ceci...c'est pas efficace. J'aimerai trouver de la docu qui m'explique comment le faire à distance via ssh et 1 script. Étape par étape. De ce type : Connecte toi au serveur A, export mysql, nomme la {date}nextcloud.sql, sauvegarde ces dossiers dans celui ci et celui là. Lance la commande, puis celle-ci, celle-là...c'est long.

Une machine excelle très bien dans ces taches récurrentes pour peu qu'on sache qu'elles sont les commande, permissions et adresses. ☺️

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Utilise 'rsync', cest pour sauvegarder en utilisant sshd, du coup a distance.

Tu peux utiliser 'tar' également pour sauvegarder pleins de dossiers situés dans des chemins différents en une seule archive ou plusieurs.

Et utilise 'date' pour rajouter la date dans tes noms de fichier en créant une variable genre.

Genre dans ton script tu peux mettre ces deux lignes a la suite:

Date=$(date '+%Y-%m-%d')
tar cvf "$Date"+".tar" filetosave

[–] [email protected] 1 points 1 year ago (1 children)

Oki faut que je teste entre 2 ordi :)

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

Franchement très bon conseil a apporter Bilbo. Ne te disperses pas trop.

Sinon pour ton test, Installe rsync sur les deux PC, et ensuite tu peux créer sur le PC A (serveur) un fichier 'test' avec cette commande 'touch /chemin/test'. Depuis le PC B récupère ce fichier avec :

rsync -av adresseA:/chemin/fichier /endroit/ou/sauvegarder