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 :

Tache cron pour renommer fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut Tache cron pour renommer fichier
    Bonjour

    Je ne sais pas si je poste au bon endroit... Si non, j'en suis dsl.

    Je cherche à faire une tâche cron pour mettre sur un serveur mail.
    N'ayant jamais utilisé ce type de code, j'aurais besoin d'un peu d'aide.

    J'utilise un logiciel de gestion qui permet d'envoyer des fichiers directement par mail avec mon adresse mail (après l'avoir configuré avec le serveur de ma messagerie).
    Ces mails, je les recevais en copie dans la boîte de réception de ma boîte mail.
    Cela m'embêtait un peu car c'était des mails que j'envoyais donc je ne trouvais pas logique de les avoir avec les mails reçus.
    Pour éviter cela, j'ai réussi à créer un filtre côté serveur pour faire en sorte que tous les mails reçus avec mon adresse soient directement placés dans les mails envoyés.
    Maintenant mon petit problème est que tous ces mails restent en "non lu". J'ai contacté le service client de mon fournisseur de serveur mail, et il m'a expliqué que chaque mail correspond à 1 fichier et que la différence entre un message lu et un message non lu, c'est juste que le message lu a été renommé en ajoutant la lettre "S" à la fin du nom de fichier. Il m'a donc dit de faire une tâche cron pour faire cela mais n'a pas pu me donner le code.

    Quelqu'un serait-il faire ce code afin d'ajouter un "S" à la fin d'un nom de fichier qui ne l'a pas déjà, et dans un dossier précis (celui des messages envoyés) ?

    Merci à vous

    Cordialement

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Bonjour

    cron c'est juste un automate. Son rôle est de lancer des jobs à la date demandée. Il ne se préoccupe absolument pas de la nature du job. Il le lance et t'envoie le résultat par mail (puisque le job est lancé en automatique)

    Donc 2 étapes
    1. tu écris le script qui renomme les fichiers selon ton goût
    2. une fois le script écrit et testé, tu le places dans le cron


    Pour écrire un cron il te faut simplement créer un fichier nommé "/var/spool/cron/crontabs/$LOGNAME". C'est un simple fichier texte qui contiendra les tâches à lancer (une tâche par ligne).
    Cette tâche sera décrite de la façon suivante
    • mois du lancement (entre 1 et 12)
    • jour du lancement (entre 1 et 31)
    • heure du lancement
    • minute du lancement
    • jour de la semaine du lancement (0=dimanche)
    • script à lancer

    Exemple 4 12 16 15 2 toto ce qui signifie "à 16h15 de chaque mardi, et aussi à 16h15 le 12 avril, lancer le script toto"

    On peut aussi utiliser des jokers shells pour simplifier la syntaxe. Exemple 2,4,6,8,10,12 * 16 ?0 * toto ce qui signifie "lancer le script toto à 16h10, 16h20, 16h30, 16h40 et 16h50 tous les jours des mois pairs (le "étoile" pour le jour du mois signifiant "tous les jours" mais le "étoile" pour le jour de la semaine étant un cas particulier signifiant "ne pas tenir compte de ce champ")

    Une fois le fichier écrit, il faut le faire prendre en compte. Soit tu arrêtes et relances le cron, soit tu lui envoies un kill -HUP. Ou alors tu utilises la commande crontab -e qui édite le fichier et qui se charge de le faire prendre en compte.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut
    Merci pour ta réponse.

    Ok donc ça c'est l'architecture du fichier en fait ?
    Et concernant le script, c'est quel langage qu'il faut utiliser ? Du PHP ?

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 836
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par arnlig3550 Voir le message
    Ok donc ça c'est l'architecture du fichier en fait ?
    Oui, c'est l'architecture du fichier décrivant les tâches à lancer. Après tu auras plus de détail sur les tutoriels cron du net.

    Citation Envoyé par arnlig3550 Voir le message
    Et concernant le script, c'est quel langage qu'il faut utiliser ? Du PHP ?
    Le langage que tu veux. Moi je pensais plutôt à un shell (bash, ksh, zsh selon celui qui est par défaut sur ton linux) assez adapté au renommage des fichiers (quand tu tapes une commande à la main celle-ci est analysée et traitée par le shell de la console dans laquelle tu tapes ta commande donc si tu sais renommer à la main tu peux parfaitement le coder dans un script shell) mais si tu te sens de le faire en php, perl, python ou pourquoi pas en C peu importe. La base c'est que ton script (programme) fonctionne de façon individuelle pour ensuite le placer dans un cron.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 92
    Par défaut
    Bonjour

    Merci pour ta réponse.

    Ce n'est pas pour mettre sur un Linux mais sur le Cpanel de mon hébergeur O2switch.
    Voici un lien qui explique comment faire, mais je sèche complètement pour la partie script... https://faq.o2switch.fr/hebergement-...el/taches-cron

    J'ai cherché "php renommer fichier" mais je ne trouve pas ce dont j'ai besoin car dans ce que je trouve il faut connaître le nom du fichier d'origine que je veux renommer et le nouveau nom que tu veux lui donner.
    Mais dans mon cas je ne connais ni l'un ni l'autre, je veux juste ajouter un "S" à la fin de chaque nom de fichier...

    Merci pour votre aide

    Arnaud

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

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

    un problème XY ?

    J'utilise un logiciel de gestion qui permet d'envoyer des fichiers directement par mail avec mon adresse mail (après l'avoir configuré avec le serveur de ma messagerie).
    soit.
    Ces mails, je les recevais en copie dans la boîte de réception de ma boîte mail.
    pourquoi ?


    ce que je comprends, c'est que
    le logiciel envoie des mails (tu ne dis pas à qui !?)
    et envoie aussi une copie sur ta boîte mail.

    ça pourrait n'être qu'une histoire de configuration du logiciel, pour qu'il cesse de te mettre en carbon copy ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. Requête pour renommer fichier
    Par hkaidi91 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 05/12/2019, 09h43
  2. script pour renommer fichier
    Par hugoashka dans le forum Macros et VBA Excel
    Réponses: 54
    Dernier message: 20/04/2017, 09h31
  3. Réponses: 2
    Dernier message: 01/03/2014, 10h19
  4. Tâches cron pour backup
    Par heyyo1 dans le forum Débuter
    Réponses: 1
    Dernier message: 24/07/2010, 18h42
  5. Aide pour renommer fichiers avec .bat
    Par bobsapp dans le forum Windows
    Réponses: 6
    Dernier message: 21/03/2007, 13h11

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