IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Shell agissant comme un trigger en base de donnèes


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 261
    Par défaut Shell agissant comme un trigger en base de donnèes
    Bonjour bonjour,

    Ma question est peut-être idiote mais je ne m'y connais pas assez en linux pour le savoir ou non.

    Je voulais savoir si il était possible d'avoir un script sous linux qui fait comme un trigger sur une base de données. C'est à dire que si on tente de faire une action spécifique pour un répertoire précis (Par exemple un rm sur un répertoire nommé "perso") alors le script se lance afin de lancer une vérification du style "êtes vous vraiment sûr de vouloir supprimer le répertoire {repertoire} o/n ?"

    J'ai vu qu'en passant par un alias de rm on pouvait y arriver mais cela ne semble pas s'appliquer qu'à un ou plusieurs répertoires/fichiers voulus mais à tous...

    Alors je jette ma bouteille à la mer, avec un peu de chance, cela est possible.

    Bisous bisous

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Ici, le plus simple serait de déplacer la vrai commande /bin/rm et de créer un script /bin/rm qui appellerait la vrai commande rm avec les paramètres voulu selon le besoin.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    Bonjour,

    un alias ne prenant pas de paramètres, ce n'est probablement pas possible de cette façon.

    par contre, avec une fonction (ou un script), il n'y aura pas de problème.

    en tant que simple utilisateur, tu n'auras pas le droit de faire ce que propose disedorgue.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ mv /bin/rm ./
    mv: impossible de supprimer '/bin/rm': Permission non accordée
    et, puisque tu es débutant, je te recommande de ne pas le faire.

    même moi je ne le ferais pas !
    -1 disedorgue
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Dans les beaux systèmes d'exploitation graphiques, on met les fichiers à la corbeille, qui est un filet de sécurité.
    Sous Linux, les utilisateurs connaissent, malheureusement, la commande rm -rf qui rase tout sur son passage. Et c'est le drame.

    Je rejoins disedorgue:
    • Soit tu t'inventes une commande à toi sup (comme supprimer) qui contient un script qui fait ce que tu veux. Et tu bannis l'utilisation de "rm" pour être toujours tranquille.
    • Soit tu détournes le "rm" véritable.


    Ma préférence va vers sup.

    Enfin, pour la notion de trigger, tu as incron. Mais les évènements sont envoyés quand l'action est déjà faite. Ici, la suppression. Donc pas cool.

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 256
    Par défaut
    Il existe un paquet trash-cli qui permet de gérer la corbeille en ligne de commande quand il y une interface graphique.

    Tu peux t'inspirer de son fonctionnement pour remplacer le rm originel par ta propre commande qui fera à la place un mv dans un dossier .trash.
    Il te faudra gérer la commande d'envoi à la corbeille, la restauration (si évoluée garder le chemin source pour éventuelle restauration dedans).
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,

    un alias ne prenant pas de paramètres, ce n'est probablement pas possible de cette façon.

    par contre, avec une fonction (ou un script), il n'y aura pas de problème.

    en tant que simple utilisateur, tu n'auras pas le droit de faire ce que propose disedorgue.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ mv /bin/rm ./
    mv: impossible de supprimer '/bin/rm': Permission non accordée
    et, puisque tu es débutant, je te recommande de ne pas le faire.

    même moi je ne le ferais pas !
    -1 disedorgue
    Content Gaëtan !!!
    C'était trop tentant

    Blague à part, même moi, je ne le ferais pas, mais la question étant général, je donne une proposition générique (pour tout les utilisateurs du système), sinon, il suffit de créer toujours sa propre commande rm et de redéfinir son PATH pour appeler en priorité cette redéfinition de commande.

  7. #7
    Membre très actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 261
    Par défaut
    Bonjour à tous

    Merci pour vos réponses et vos avis sur les réponses. Il semble donc que ce soit en effet un peu lourd à faire, ce que je souhaitais. Je verrais peut-être un jour pour en effet proposer une autre commande mais sans certitude....

    Sinon oui, en effet, connaissant la commande rm, les erreurs sont faciles. Dans le cas qui m'a amené à poser cette question, le cadre est "pire" encore, un simple missclic via un logiciel ssh (filezila, winscp...) et c'était parti.

    Je met du coup le sujet en résolu, comme il n'y a pas de solution spécifiquement simple pour mon niveau

    Bisous bisous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. trigger et base de données
    Par soukainabn dans le forum PL/SQL
    Réponses: 4
    Dernier message: 23/06/2015, 16h18
  2. Réponses: 4
    Dernier message: 22/04/2014, 16h57
  3. Réponses: 3
    Dernier message: 01/03/2007, 21h54
  4. [Modèle Relationnel] Une base de données sans liens ni triggers
    Par Promeneur dans le forum Schéma
    Réponses: 15
    Dernier message: 27/05/2005, 10h35
  5. triggers sur plusieurs bases de données
    Par Shabata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2004, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo