Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

script extremement basique

6 réponses
Avatar
olive
Bonjour,

Je souhaiterais réaliser un script shell qui déplace tout le contenu du
répertoire /home, et tous ses sous-répertoires, vers un repertoire
./backup. Tout le contenu, sauf les icones de bureau, soit les fichiers
.desktop. Script que je lancerai à chaque démarrage des machines (Ce
sont des postes à accès public).

Je débute en shell, et je suis bloqué par quelque chose d'idiot, sans
doute : je n'arrive pas à trouver comment écrire : "pour tous les
fichiers SAUF les .desktop, mv etc.

Merci pour votre indulgence.

--
Olivier

6 réponses

Avatar
GuiGui
olive a écrit :
Bonjour,

Je souhaiterais réaliser un script shell qui déplace tout le contenu du
répertoire /home, et tous ses sous-répertoires, vers un repertoire
./backup. Tout le contenu, sauf les icones de bureau, soit les fichiers
.desktop. Script que je lancerai à chaque démarrage des machines (Ce
sont des postes à accès public).

Je débute en shell, et je suis bloqué par quelque chose d'idiot, sans
doute : je n'arrive pas à trouver comment écrire : "pour tous les
fichiers SAUF les .desktop, mv etc.

Merci pour votre indulgence.




A moins de vouloir planter ta session, je déconseillerai de déplacer le
contenu de /home. Il vaudrait mieux recopier le contenu.

De plus copier le contenu de /home dans ./backup entrainera une
récursion dont il faut tenir compte (puisque backup sera un sous
répertoire de /home/olive si ton utilisateur est olive).

Pour la copie, le plus simple serait d'utiliser rsync, qui possède une
option --exclude pour exclure certains fichiers (man rsync).

Dernier point : si c'est pour faire une sauvegarde, une copie sur la
machine elle-même n'est pas très indiqué.
Avatar
olive
GuiGui écrivait :

A moins de vouloir planter ta session, je déconseillerai de déplacer le
contenu de /home. Il vaudrait mieux recopier le contenu.



Euh oui, en effet.

De plus copier le contenu de /home dans ./backup entrainera une
récursion dont il faut tenir compte (puisque backup sera un sous
répertoire de /home/olive si ton utilisateur est olive).

Pour la copie, le plus simple serait d'utiliser rsync, qui possède une
option --exclude pour exclure certains fichiers (man rsync).



Merci, je vais regarder ça. Ça me servira aussi pour un problème de
sauvegardes que j'aborderai ensuite.

Dernier point : si c'est pour faire une sauvegarde, une copie sur la
machine elle-même n'est pas très indiqué.



C'est pas une sauvegarde : C'est dans une bibliothèque publique : l'idée
est d'avoir des machines propres le matin (notamment le bureau), mais
que, au cas où, on puisse quand même récupérer un doc important
ou pas, que l'usager-lecteur aurait produit sur ces machines.

--
Olivier
Avatar
Nicolas Richard
olive a écrit :
C'est pas une sauvegarde : C'est dans une bibliothèque publique : l'idée
est d'avoir des machines propres le matin (notamment le bureau), mais
que, au cas où, on puisse quand même récupérer un doc important
ou pas, que l'usager-lecteur aurait produit sur ces machines.



Je vais dire des choses naïves : tu pourrais envisager qu'au moment du
logout, un script prenne la main pour renommer l'utilisateur qui s'en va
en un truc style "guest-timestamp", renommer le répertoire de cet
utilisateur également, puis créer un nouvel utilisateur "guest" tout
propre avec son ID à lui (et si tu as des fichiers .desktop que tu as
personnalisé pour ces utilisateurs, j'imagine que tu peux les mettre
dans /etc/skel pour qu'ils soient réutilisés à chaque création d'un
utilisateur).

Par sécurité, au moment du login suivant il faut vérifier que ledit
script a bien été executé, afin d'éviter qu'un utilisateur
mal-intentionné laisse derrière lui de vilains programmes (si il arrive
à contourner le premier script)

Enfin, ceci dit, je serais étonné qu'il n'y ait pas déjà des solutions
toutes faites par des gens qui y ont réfléchi un peu mieux que ça !

Bonne chance,

N.
Avatar
GuiGui
Nicolas Richard a écrit :
olive a écrit :
C'est pas une sauvegarde : C'est dans une bibliothèque publique : l'idée
est d'avoir des machines propres le matin (notamment le bureau), mais
que, au cas où, on puisse quand même récupérer un doc important
ou pas, que l'usager-lecteur aurait produit sur ces machines.



Je vais dire des choses naïves : tu pourrais envisager qu'au moment du
logout, un script prenne la main pour renommer l'utilisateur qui s'en va
en un truc style "guest-timestamp", renommer le répertoire de cet
utilisateur également, puis créer un nouvel utilisateur "guest" tout
propre avec son ID à lui (et si tu as des fichiers .desktop que tu as
personnalisé pour ces utilisateurs, j'imagine que tu peux les mettre
dans /etc/skel pour qu'ils soient réutilisés à chaque création d'un
utilisateur).

Par sécurité, au moment du login suivant il faut vérifier que ledit
script a bien été executé, afin d'éviter qu'un utilisateur
mal-intentionné laisse derrière lui de vilains programmes (si il arrive
à contourner le premier script)

Enfin, ceci dit, je serais étonné qu'il n'y ait pas déjà des solutions
toutes faites par des gens qui y ont réfléchi un peu mieux que ça !

Bonne chance,

N.




Je dirais même :

- Les utilisateurs devraient venir avec leur propre support de
sauvegarde (clé USB) et il devrait leur être indiqué que les documents
stockés localement ne survivront pas à leur session. Si vous avez le
droit de gérer une caisse, il est même éventuellement possible de vendre
des clés USB (voire même des clés USB avec le nom/logo de
l'établissement ;-) ).

- Il existe des distributions pour utilisation type "cybercafé" qui me
semblent tout a fait indiquées dans ce cas. Sinon le simple compte
invité que l'on peut activer dans des distributions comme ubuntu par
exemple, vous permettent de ne pas mettre en danger le système.
Avatar
olive
GuiGui écrivait :

- Les utilisateurs devraient venir avec leur propre support de
sauvegarde (clé USB) et il devrait leur être indiqué que les documents
stockés localement ne survivront pas à leur session. Si vous avez le
droit de gérer une caisse,



C'est la cas. Il faudrait modifier l'arrêté de régie, mais c'est jouable.

il est même éventuellement possible de vendre
des clés USB (voire même des clés USB avec le nom/logo de
l'établissement ;-) ).



Pas con du tout ça, je prends note ; je vais voir si c'est possible et à
quels coûts.

- Il existe des distributions pour utilisation type "cybercafé" qui me
semblent tout a fait indiquées dans ce cas.



Je vais regarder par curiosité, mais après quelques semaines de
fonctionnement avec une Ubuntu Standard, et moyennant pour le moment un
nettoyage à la main, ça se passe sans souci. Je préfère garder
l'homogénéité des installations. Mon public est loin d'être composés de
geeks qui voudraient casser le système. J'en suis plutôt à devoir
enseigner le fonctionnement de la souris.

(...)

Merci.

--
Olivier
Avatar
GuiGui
olive a écrit :


Je vais regarder par curiosité, mais après quelques semaines de
fonctionnement avec une Ubuntu Standard, et moyennant pour le moment un
nettoyage à la main, ça se passe sans souci. Je préfère garder
l'homogénéité des installations. Mon public est loin d'être composés de
geeks qui voudraient casser le système. J'en suis plutôt à devoir
enseigner le fonctionnement de la souris.



Dans ce cas l'activation du compte "invité" d'ubuntu devrait convenir et
évite au moins le risque de pourrir le système.