Lancer crontab

Bonjour,
voila ma commande crontab ne s'execute pas

*/5 * * * * /usr/local/bin/purge_db.sh
// mon script que crontab devrais lancer toute 5 min
#!/bin/bash
mysql SERVEUR -pstaines < SQL1.txt
// le contenu de SQL1.txt
DELETE FROM LOG_FILE WHERE DATE < SUBDATE(NOW(), INTERVAL 1 DAY)
Configuration: Windows XP
Firefox 3.0.6

22 réponses

  1. Contributeur
    soit au début du script faire
    cd /dir
    ou se trouve SQL1.txt
    ou préciser le chemin du fichier .,..< /dir/SQL1.txt
    1. Contributeur
      quand ton script démarre en root il est dans / donc il ne trouve pas le fichier /SQL1.txt
      1. quand je vais dans /tmp et je vais vim log j'obtien:

        /usr/local/bin/purge_db.sh: line 3: SQL1.txt: No such file or directory
        1. je suis mal barrer car sa me depasse maintenant
          je ne comprend plus rien!!
          1. ok!
            quand je fais cron -f j'ai
            cron: can't lock /var/run/crond.pid, otherpid may be 4536: Resource temporarily unavailable

            comment je fais pour qu'il soit actif
            1. Contributeur
              la configuration de cron varie selon les systèmes. man cron pour voir comment créer un log des jobs qui tournent par cron
              1. dans mon log j'ai:

                apache2 auth.log.3.gz daemon.log.2.gz dist-upgrade dpkg.log kern.log.0 mail.info messages.3.gz mysql.log.4.gz syslog.0 udev
                apparmor boot daemon.log.3.gz dmesg dpkg.log.1 kern.log.1.gz mail.log mysql mysql.log.5.gz syslog.1.gz user.log
                apt btmp debug dmesg.0 dpkg.log.2.gz kern.log.2.gz mail.warn mysql.err mysql.log.6.gz syslog.2.gz wtmp
                auth.log btmp.1 debug.0 dmesg.1.gz faillog kern.log.3.gz messages mysql.log mysql.log.7.gz syslog.3.gz wtmp.1
                auth.log.0 daemon.log debug.1.gz dmesg.2.gz fsck lastlog messages.0 mysql.log.1.gz news syslog.4.gz
                auth.log.1.gz daemon.log.0 debug.2.gz dmesg.3.gz installer lpr.log messages.1.gz mysql.log.2.gz pycentral.log syslog.5.gz
                auth.log.2.gz daemon.log.1.gz debug.3.gz dmesg.4.gz kern.log mail.err messages.2.gz mysql.log.3.gz syslog syslog.6.gz
                1. Contributeur
                  voir ce qui se passe dans un fichier
                  */5 * * * * /usr/local/bin/purge_db.sh > /tmp/log 2>&1
                  voir aussi dans /var/log
                  1. oui puisque quand je le lance sans manuellement sans le crontab sa marche
                    1. quand je lance la commande ps -ef | grep crom

                      root 4536 1 0 Feb03 ? 00:00:00 /usr/sbin/cron
                      root 8530 6953 0 16:16 pts/0 00:00:00 grep cron

                      je suis connecter en tant root
                      1. Contributeur
                        cron tourne ?
                        ps -ef | grep cron
                        le script est exécutable ?
                        chmod u+x /usr/local/bin/purge_db.sh
                        il tourne comme root ?
                        1. voila mon script et sa ne marche toujours pas c'est a dire rien ne se passe!!!
                          #!/bin/bash
                          source ~/.bashrc
                          mysql SERVEUR -pstaines < SQL1.txt
                          merci
                          1. Contributeur
                            non,comme ca:

                            #!/bin/bash
                            source ~/.bashrc
                            mysql SERVEUR -pstaines < SQL1.txt
                            1. sa ne marche toujours pas
                              j'ai rajouter
                              #!/.bashrc
                              #!/bin/bash
                              mysql SERVEUR -pstaines < SQL1.txt
                              // le contenu de SQL1.txt
                              DELETE FROM LOG_FILE WHERE DATE < SUBDATE(NOW(), INTERVAL 1 DAY)
                              1. Contributeur
                                hello
                                le script tourne sans environnement, .bashrc n'est pas exécuté par cron
                                mettre
                                source ~/.bashrc
                                au début du script
                                • 1
                                • 2