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:
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?
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.
Comment puis-je archiver tous les comptes d'utilisateurs et supprimer les comptes d'utilisateurs?
J'apprécie pour vos guides et suggestions!
/home
voudrez peut-être sauvegarder certaines choses à l'extérieur . Par exemple, une crontab d’utilisateur ou un courrier électronique.Réponses:
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.
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:
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
.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 -s
etvigr
, respectivement, pour éditer ces fichiers avec verrouillage correct. Définissez$VISUAL
la commande de votre éditeur favori (par exemple,VISUAL="nano -w"
).la source
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.