Sauvegarder les comptes utilisateurs sous Linux


0

Voici mes étapes pour sauvegarder les comptes d'utilisateurs avec la planification:

`sudo crontab -e.

0 0 * * * sudo tar -cpzf /backupfolder/user1_backup-$(date +\%Y--\%m-\%d).tar.gz /home/students/user1

0 0 * * * sudo tar -cpzf /backupfolder/user2_backup-$(date +\%Y--\%m-\%d).tar.gz /home/students/user2`

Voici mes questions:

  1. Si je fais les étapes ci-dessus, ai-je également sauvegardé les fichiers de configuration système des utilisateurs lorsque je sauvegarde les répertoires de base des utilisateurs, comme indiqué ci-dessus?

  2. Dans ma commande crontab, est-il possible que je sauvegarde tous les utilisateurs, disons utilisateur1 à utilisateur10 en une seule ligne de commande et que j'ajoute automatiquement le nom d'utilisateur ou l'ID utilisateur au nom de fichier de sauvegarde? Je parviens à ajouter le format de date à mon nom de fichier de sauvegarde, mais je ne suis pas sûr de pouvoir faire la même chose pour le nom d'utilisateur.

  3. Comment puis-je archiver tous les comptes d'utilisateurs et supprimer les comptes d'utilisateurs?

J'apprécie pour vos guides et suggestions!


Vous /homevoudrez peut-être sauvegarder certaines choses à l'extérieur . Par exemple, une crontab d’utilisateur ou un courrier électronique.
Thomas Weinbrenner

Réponses:


0

Si je fais les étapes ci-dessus, ai-je également sauvegardé les fichiers de configuration système des utilisateurs lorsque je sauvegarde les répertoires de base des utilisateurs, comme indiqué ci-dessus?

Les fichiers de configuration système et utilisateur sont distincts. Le seul endroit où un compte d'utilisateur normal doit contenir des fichiers importants est son répertoire de base respectif ou n'importe quel emplacement de son répertoire de base. Seuls quelques autres emplacements (notamment / tmp et amis) en dehors du répertoire de base d'un utilisateur sont accessibles en écriture pour les utilisateurs normaux sur un système Linux normal. Les fichiers de configuration système sont normalement conservés dans / etc, ce qui n’est pas accessible en écriture pour les utilisateurs normaux. Comme l'a souligné Thomas Weinbrenner dans un commentaire, crontab et spool de courrier sont des éléments pouvant être conservés en dehors du répertoire de base de l'utilisateur, mais méritant néanmoins d'être sauvegardés. Cela dépend fortement de l'utilisation du système, de la manière dont il est utilisé à ces fins et de la configuration de celui-ci.

Dans ma commande crontab, est-il possible que je sauvegarde tous les utilisateurs, disons utilisateur1 à utilisateur10 en une seule ligne de commande et que j'ajoute automatiquement le nom d'utilisateur ou l'ID utilisateur au nom de fichier de sauvegarde? Je parviens à ajouter le format de date à mon nom de fichier de sauvegarde, mais je ne suis pas sûr de pouvoir faire la même chose pour le nom d'utilisateur.

Créez un script qui sauvegarde un répertoire personnel unique comme vous le souhaitez (nom du fichier cible, compression, cryptage, etc.). Appelons ce script /usr/local/bin/backup.sh. Faites en sorte qu'il accepte deux paramètres: le répertoire à sauvegarder et un nom de base pour le fichier de sauvegarde.

Puis appelez-le d'une boucle:

for dir in /home/students/*/; do /usr/local/bin/backup.sh "$dir" $(basename "$dir"); done

Cela suppose que tous les utilisateurs ont des répertoires personnels directement sous / home / étudiants, mais il devrait être facile de s’adapter à la configuration que vous avez. Le script finira par s'appeler comme backup.sh /home/students/userN/ userN.

Comment puis-je archiver tous les comptes d'utilisateurs et supprimer les comptes d'utilisateurs?

Supprimez ou archivez les fichiers, puis supprimez les entrées du compte utilisateur dans / etc / passwd, / etc / shadow et éventuellement / etc / group. Utilisez vipw, vipw -set vigr, respectivement, pour éditer ces fichiers avec verrouillage correct. Définissez $VISUALla commande de votre éditeur favori (par exemple, VISUAL="nano -w").


Bonjour, merci beaucoup d'avoir pris le temps de répondre à mes 3 questions. Cependant, j'ai encore des doutes sur ma question 2, car je n'ai que quelques expériences sur les scripts linux. Tout d’abord, est-ce la ligne que je dois ajouter dans mon fichier de script après «#! / Bin / bash»? for dir in /home/students/*/; do /usr/local/bin/backup.sh "$dir" $(basename "$dir"); done? La prochaine chose, comment puis-je intégrer ma commande tar? Désolé, je suis vraiment confus et manque d'expérience. Je vous remercie.
Damon
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.