Script perl quota d'impression [Résolu/Fermé]

Signaler
Messages postés
343
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
16 août 2011
-
 tamere -
Bonjour,

L'objectif est de faire un script de quota d'impression qui va aller nourrir une base de donné distante des informations de mes quotas

Premierement

#!/usr/bin/perl
use strict;use warnings;
use DBI;
use Quota;

#information a la connection bdd
my $base = 'aaa';
my $host = 'localhost';
my $user = 'root';
my $pass = 'aaaaaaaa';
my $mysql_sock = '/var/run/mysqld/mysqld.sock';

#Connection à la base de données
my $db = DBI->connect("DBI:mysql:database=$base;
                       host=$host;
                       mysql_socket=$mysql_sock",
                       $user,
                       $pass,
                       {RaiseError => 1}
                     );
# ici il faudrait faire la gestion des quota 

# Puis voici l'insertion dans la base de données
$db->do("INSERT INTO quota
          (VARIABLE) VALUES  (
                  $XXX,
                  $XXX,.........    
          ")
        or die "pb de requete : $DBI::errstr";
        }
}
__END__


Le tout est avec un serveur cups et pourquoi pas pykotas *

4 réponses

Messages postés
343
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
16 août 2011
16
Depuis la version 1.24, pykota peut s'utiliser à travers un environnement MySQL. Dans le répertoire /usr/share/pykota/initscripts/ on trouve les différents fichiers d'installation de base Pykota. Aussi, on lance la procédure de création de base avec le fichier pykota-mysql.sql en ayant modifié les passwords au préalable (Lire les README...)

~# mysql
mysql> \. /chemin_scripts/pykota-mysql.sql

La base est créée, il faut la remplir... Pour ce faire, il existe une commande qui permet de faire une exportation des Users (Unix + LDAP + ...) et des imprimantes, vers la base Mysql "pykota". En d'autres termes, tout ce qui peuple le LDAP du SE3 sera exporté (Users, Groups, Printers)

~# pkturnkey --force --uidmin 1000 --dousers --uidmax 50000 --dogroups --gidmin 5000 --gidmax 6000

Les valeurs de gidmax et uidmax sont très grandes afin "d'aspirer" le maximum de users. Le but prochain est d'encadrer ces valeurs pour ne garder que les GID profs, GID admin et GID eleves.
Aussi, il faut voir une interaction directe entre cette commande et les valeurs des GID définis dans le fichier /usr/lib/cgi-binse/gep.cgi
Cette commande prend un certain temps... Une fois la base remplie, on peut commencer à utiliser pykota en fixant les quotas...

Pour cela je vous demande si la creation d'un script est réelement obligatoire ???????????
pkturnkey permet un import global, mais n'est pas vraiment optimal, puisque vous allez également importer les utilisateurs qui n'impriment jamais, ou des notions de groupes dont vous n'avez pas forcément besoin dans PyKota. De plus pkturnkey n'est pas vraiment fait pour être lancé plusieurs fois, il faut donc de toutes façons ajouter manuellement chaque nouvel utilisateur (inscrit en cours d'année par exemple).

Aussi il est plutôt recommandé d'utiliser la directive 'policy' dans pykota.conf pour créer automatiquement les comptes à la volée lors de la première impression de chaque utilisateur, à travers l'exécution automatique d'un script externe quelconque (exemples fournis dans pykota/conf/pykota.conf.sample). Ainsi l'utilisation importante de ressources de pkturnkey est évitée, et la base ne contient que des données vraiment utiles. De plus la liberté étant complète en ce qui concerne le script, on peut déclancher n'importe quelle action en plus de créer le compte utilisateur (ex: prévenir l'admin par mail que la création est OK, ou bien donner des quotas différents en fonction de l'heure de la journée, ou autre...)
Messages postés
343
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
16 août 2011
16
Il existe une commande comme pour les quota disque ( repquota ) pour les quota d'impression :

edpykota -a 
Messages postés
343
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
16 août 2011
16
up
Messages postés
343
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
16 août 2011
16
Donc conclusion seul :) Pykota integre a lui meme une base de donnée qui la nourrit automatiquement donc resolue