Script d'impression

Bonjour,

un poste client envoie des fichiers dans un répertoire partagé sur un serveur debian, je voudrais écrire un script qui lance l’impression de chaque fichier et qui l’efface automatiquement après son impression, et ensuite passer au fichier suivant. Chaque fichier envoyé au serveur sera nommé par un numéro à 6 chiffres, par exemple “655421.pdf”.

Si quelqu’un a un tuyau…merci.

Je bascule ton fil dans “programmation”

Un crontab et un bout de shellscript ça devrait pouvoir faire l’affaire. Du genre :
Un regle cron qui regarde toutes les x minutes / secondes le contenu du dossier, s’il y a des pdfs dedans : boucle sur les pdfs pour les verifier / renommer+déplacer / imprimer / effacer dans l’ordre et à la façon que tu souhaites, sinon : on attend le prochain déclenchement.

Tu peux raffiner en faisant le tri des fichiers selon que leur nom est “légal” (ce sont bien des pdf avec un nom à 6 chiffres), si ce sont bien des pdfs (en regardant le type de fichier et pas juste l’extension), etc etc etc

toutes les infos sur les jobs cron : man cron / man 5 crontab

a vue de nez tu peux utiliser une regexp pour verifier les noms de tes fichiers et elle devrait ressembler à un truc du genre ‘^[0-9]{6}.pdf$’ (a tester, il se fait tard et je n’aime pas les regexps :stuck_out_tongue:)

Tout ceci est valable si les fichiers sont posés par des utilisateurs sans moyens spéciaux et que tu ne sais pas quand cela se produira, il y a sans doute moyen de faire qqch de plus efficace si tu sais, par exemple, à quelle heure sont posés les fichiers ou si c’est un soft particulier qui se charge de le faire.

A voir avec d’autres avis mais un cronjob ne me parait pas une trop mauvaise idée vu la façon dont est posé le pb.

Edit : après si ce que tu recherches c’est une impression systématique dès que le fichier est posé et sans sauvegarde d’aucune sorte : CUPS est ton ami.

La méthode la plus jolie c’est créer un démon.
Il y a pas moyen d’utiliser inotify en shell mais en perl c’est possible.
Je vais m’intéresser à ça demain je verrais ce que ça donne et te le filerais demain.

Mes sources :
inotify-tools.sourceforge.net/
julp.developpez.com/linux/inotify/