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 :

cron => problème tar


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 207
    Points : 51
    Points
    51
    Par défaut cron => problème tar
    Ci joint un script de dump oracle qui fonctionne via le cron, sauf que lorsque je lance le tar sur un volume monté en nfs il
    me copie le fichier en root:root donc il quitte avec un message d'erreur
    si je lance un tar vers ce dossier monté en nfs directement avec l'utilisateur oracle, les droits sont correct

    Apparament c'est lorsque le cron lance la commande qui me la fait en mode root alors que le dump fonctionne bien

    fichier cron.log.txt

    L'ensemble de fichiers de vidage de SYS.SYS_EXPORT_FULL_01 est :
    /home/u01/app/oracle/admin/PPQUA/datapump/20140416-PPQUA_full_export.dmp
    Tache "SYS"."SYS_EXPORT_FULL_01" executee avec succes a 16:01:08

    tar: Removing leading `/' from member names
    tar: /mnt/NAS/DUMP_PPQUA/20140416-PPQUA_full_export.tar.bz2: Cannot open: Permission denied
    tar: Error is not recoverable: exiting now
    find: invalid predicate `-delete'




    Script full_export.sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    cd $ORACLE_HOME
    export ORACLE_HOME=/home/u01/app/oracle/product/10.2.0/db_1
    export ORACLE_SID=$1
    export EXPORT_FOLDER=/home/u01/app/oracle/admin/${ORACLE_SID}/datapump
    export EXPORT_FOLDER_NAS=/mnt/NAS/DUMP_${ORACLE_SID}
    DATE=$(date +"%Y%m%d")
     
    $ORACLE_HOME/bin/expdp \"/ as sysdba\" full=y directory=DATA_PUMP_ROOT \
    dumpfile=$DATE-${ORACLE_SID}_full_export.dmp logfile=$DATE-${ORACLE_SID}_full_export.log
     
    tar cjf $EXPORT_FOLDER_NAS/$DATE-${ORACLE_SID}_full_export.tar.bz2 \
    $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.dmp \
    $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.log
     
    rm $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.dmp $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.log
     
    find $EXPORT_FOLDER_NAS/*${ORACLE_SID}_full_export.tar.bz2 -mtime +15 -delete
    ligne cron en mode utilisateur oracle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    48 15 * * * /home/u01/app/oracle/admin/PPQUA/datapump/fullexp.sh PPQUA >  /home/oracle/cron_log.txt 2>&1
    ligne fstab

    192.168.103.96:/sauvdiff /mnt/NAS nfs defaults 0 0

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    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 286
    Points : 12 742
    Points
    12 742
    Par défaut
    Bonjour,
    Le nom du script que tu donnes et le nom du script lancé par le cron n'est pas le même, il n'y aurait pas un setuid bit de positionné sur l'un des deux script ?
    Peux-tu nous faire un "ls -l" pour les 2 fichiers ?

    Autre question: la crontab que tu utilises est bien celle d'oracle ?
    Par quelle commande l'édites tu ?
    Cordialement.

  3. #3
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Une autre remarque, c'est un peu dommage de continuer l'exécution du script, c'est à dire d'effacer les fichiers de dump et de log, même si le tar a échoué.

    Je modifierai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tar cjf $EXPORT_FOLDER_NAS/$DATE-${ORACLE_SID}_full_export.tar.bz2 \
    $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.dmp \
    $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.log
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tar cjf $EXPORT_FOLDER_NAS/$DATE-${ORACLE_SID}_full_export.tar.bz2 \
    $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.dmp \
    $EXPORT_FOLDER/$DATE-${ORACLE_SID}_full_export.log || exit 1
    ɹǝsn *sıɹɐlos*

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 207
    Points : 51
    Points
    51
    Par défaut
    merci pour l'astuce du tar... "exit 1"

    le cron est bien lancé en oracle via la commande crontab -e

    effectivment j'ai fait une erreur dans le nom du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [oracle@IPARLA ~]$ cd /home/u01/app/oracle/admin/PPPRO/datapump/
    [oracle@IPARLA datapump]$ ls -l
    total 4
    -rwxr-xr-x  1 oracle oinstall 874 avr 16 18:41 fullexp.sh
    [oracle@IPARLA datapump]$

  5. #5
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    et:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls -ld /mnt/NAS/DUMP_PPQUA/
    ?
    ɹǝsn *sıɹɐlos*

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 207
    Points : 51
    Points
    51
    Par défaut
    drwxrwxrwx 2 oracle oinstall 104 avr 16 16:41 /mnt/NAS/DUMP_PPQUA/


    en sachant que lorsque je lance le script anuellement ça marche mais pas par le cron

  7. #7
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    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 286
    Points : 12 742
    Points
    12 742
    Cordialement.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 207
    Points : 51
    Points
    51
    Par défaut
    voila le resultat:

    -rwxr-xr-x 1 root root 161188 avr 13 2006 /bin/tar

  9. #9
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Sous root:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    crontab -u oracle -l | grep oracle
    su oracle -c "touch /mnt/NAS/DUMP_PPQUA/.test1"
    touch /mnt/NAS/DUMP_PPQUA/.test2
    crontab -u root -l | grep oracle
    ls -la /mnt/NAS/DUMP_PPQUA/.??*
    ɹǝsn *sıɹɐlos*

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 207
    Points : 51
    Points
    51
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@IPARLA2 ~]# crontab -u oracle -l | grep oracle
    48 15 * * * /home/u01/app/oracle/admin/PPQUA/datapump/fullexp.sh PPQUA >  /home/oracle/cron_log.txt 2>&1
    [root@IPARLA2 ~]# su oracle -c "touch /mnt/NAS/DUMP_PPQUA/.test"
    [root@IPARLA2 ~]# touch /mnt/NAS/DUMP_PPQUA/.test2
    [root@IPARLA2 ~]# crontab -u root -l | grep oracle
    [root@IPARLA2 ~]# ls -la /mnt/NAS/DUMP_PPQUA/.??*
    -rw-r--r--  1 oracle oinstall 0 avr 17 21:42 /mnt/NAS/DUMP_PPQUA/.test
    -rw-r--r--  1 root   root     0 avr 17 21:43 /mnt/NAS/DUMP_PPQUA/.test2
    [root@IPARLA2 ~]#

  11. #11
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Root et oracle ont le droit de créer des fichiers sur le NAS.

    Pourquoi le "donc" dans ton analyse:

    sauf que lorsque je lance le tar sur un volume monté en nfs il me copie le fichier en root:root donc il quitte avec un message d'erreur
    ?
    ɹǝsn *sıɹɐlos*

  12. #12
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 286
    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 286
    Points : 12 742
    Points
    12 742
    Par défaut
    Pour avoir un autre angle du problème, il serait bien de faire des test directement via la crontab, comme par exemple, rajouter des trace supplémentaire dans le full_exp.sh comme par exemple "id -a" avant et après chaque commande, savoir aussi à quoi ressemble la variable PATH (il se peut que par exemple la commande bzip2 ne soit pas vu par cron...
    Enfin, différents tests sous cron qui pourrait nous orienter sur la raison du problème.
    Cordialement.

Discussions similaires

  1. Problème tar find
    Par bahraoui dans le forum Shell et commandes POSIX
    Réponses: 3
    Dernier message: 04/05/2012, 17h55
  2. caractères accentués, tar et cron
    Par Yvesbchmt dans le forum Linux
    Réponses: 1
    Dernier message: 02/02/2007, 17h25
  3. [SimpleXML] Problème SimpleXML et tâche CRON
    Par Bobtop dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/12/2006, 03h30
  4. [Mail] Newsletter, problème d'envois... cron ?
    Par Smash34 dans le forum Langage
    Réponses: 5
    Dernier message: 12/05/2006, 09h53
  5. Réponses: 2
    Dernier message: 21/10/2004, 15h08

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