Deletion of a plan by shell script

Tools and several solutions to manage Control-M products
Post Reply
User avatar
milodanlso
Nouveau
Nouveau
Posts: 4
Joined: 06 Aug 2010 12:00

Deletion of a plan by shell script

Post by milodanlso » 16 May 2014 4:47

Hi,
I look for the Control-M commands has to use since the EM to delete all jobs for a plan. Which is the method ?
Better, anybody has an example of shell script ? :P
I am not an expert Control-M, i just have to automate this action for exploitation.
Thanks

User avatar
sunuriyal
Nouveau
Nouveau
Posts: 27
Joined: 18 Jan 2014 12:00

Re: Deletion of a plan by shell script

Post by sunuriyal » 19 May 2014 6:55

HI,

What do you mean by all the jobs?
do you mean all entire AJF (Active Job file) regardless of their status ?

IF yes, you can use ctmpsm -AJFUPDATE command.

please let me know if you need the entire script for that.

User avatar
milodanlso
Nouveau
Nouveau
Posts: 4
Joined: 06 Aug 2010 12:00

Post by milodanlso » 21 May 2014 4:00

Hi,
I need to delete job in ControlM EM and ControlM Server.
We have plans which are not any more used but still running. We want to delete them of the AJF but also of Desktop via an automaton.
I am interested in your script
Thanks

Vous seriez pas Français par hasard parce que mon anglais c'est du charabia :-) ?

En fait, nous avons des plans qui ne sont plus utilisés mais toujours monté au plan. Nous voulons les supprimer de l'AJF mais du aussi du Desktop via un automate.

User avatar
matom
Nouveau
Nouveau
Posts: 37
Joined: 29 Nov 2006 12:00
Location: Ile de France

Post by matom » 28 May 2014 10:27

Bonjour,

Que souhaitez-vous faire ?


Le "Desktop" vous permet de créer et de faire des mises à jour de jobs.
Si vous travaillez en mode "espace de travail local" la durée de vie des jobs est le temps d'ouverture de votre "Desktop" (d'où le "write", ou la sauvegarde, pour ne pas perdre ce qui a été fait).
Si vous travaillez en mode "en ligne" les jobs ne sont jamais dans votre "Desktop".
Conclusion il n'y a rien à supprimer dans le "Desktop".

Les jobs dans l'AJF:
Si vous avez des jobs de plans précédents toujours présents (exemple le 28 mai vous avez au plan un job monté avec la date du 20 avril) le job est soit "hold-é" soit paramétré avec un "maxwait" ou monté au plan aujourd'hui avec la date du 20 avril, dans l'exemple.
Pour faire la suppression de la totalité des jobs dans l'AJF avec des dates de montée au plan d'avril 2014:

A titre d'exemple liste des jobs commençant par PJOBdu ci-dessous:
$ ctmpsm -listall | grep PJOBdu

Code: Select all

00006ser PJOBdu28mai       CMD   20140528 Wait Sch        1500            
00006ses PJOBdu09avril     CMD   20140409 Wait Sch        1500            
00006set PJOBdu11avil      CMD   20140411 Wait Sch        1500            
00006seu PJOBdu15avil      CMD   20140415 Wait Sch        1500            
00006sev PJOBdu15avil      CMD   20140415 Wait Sch        1500            
00006sew PJOBdu23avil      CMD   20140423 Wait Sch        1500            
00006sex PJOBdu24avil      CMD   20140424 Wait Sch        1500            
00006sey PJOBdu24avil      CMD   20140424 Wait Sch        1500            
00006sez PJOBdu24avil      CMD   20140424 Wait Sch        1500            
00006sf0 PJOBdu25avil      CMD   20140425 Wait Sch        1500            
00006sf1 PJOBdu28avil      CMD   20140428 Wait Sch        1500            
00006sf2 PJOBdu28avil      CMD   20140428 Wait Sch        1500            
00006sf3 PJOBdu28avil      CMD   20140429 Wait Sch        1500            
00006sf4 PJOBdu30avil      CMD   20140430 Wait Sch        1500            
00006sf5 PJOBdu30avil      CMD   20140430 Wait Sch        1500            
00006sf6 PJOBdu30avil      CMD   20140430 Wait Sch        1500            
00006sf7 PJOBdu30avil      CMD   20140430 Wait Sch        1500            
00006sf8 PJOBdu30avil      CMD   20140430 Wait Sch        1500            
Chargement dans une variable de la liste des Order IDs des jobs du mois d'avril :
$ OrderIDjobsAsupprimer=`ctmpsm -listall | grep 201404 | awk '{print $1}'`

Contenu de la variable OrderIDjobsAsupprimer:
$ echo $OrderIDjobsAsupprimer
00006ses 00006set 00006seu 00006sev 00006sew 00006sex 00006sey 00006sez 00006sf0 00006sf1 00006sf2 00006sf3 00006sf4 00006sf5 00006sf6 00006sf7 00006sf8

Boucle de suppression des jobs du mois d'avil :
$ for OrderID in $OrderIDjobsAsupprimer; do ctmpsm -updateajf $OrderID HOLD; ctmpsm -updateajf $OrderID DELETE; done

ou pour une lecture plus aisée :
  • for OrderID in $OrderIDjobsAsupprimer
    do
    ctmpsm -updateajf $OrderID HOLD
    ctmpsm -updateajf $OrderID DELETE
    done
Les jobs sont toujours dans l'AJF en statut "DELETED" jusqu'à la prochaine "New Day Procedure"

Cordialement

User avatar
milodanlso
Nouveau
Nouveau
Posts: 4
Joined: 06 Aug 2010 12:00

Post by milodanlso » 05 Jun 2014 4:08

Désolé mais je ne suis pas à plein temps sur ce sujet et en plus j'ai des congés à prendre, bref :D

En fait, ce n'est pas l'AJF qui m'intéresse. Je veux supprimer la défintion d'un plan dans le Control-M Server afin qu'il ne soit plus utilisé (pour l'instant, la définition dans l'EM est conservé).

De ce que je comprends (avec les infos que je glane à droite et à gauche), j'ai besoin de faire l'équivalent du Remote Delete (existant dans le desktop) mais en ligne de commande...

J'espère que je suis plus clair en français :oops:

Merci

User avatar
matom
Nouveau
Nouveau
Posts: 37
Joined: 29 Nov 2006 12:00
Location: Ile de France

Post by matom » 10 Jun 2014 5:11

Bonjour,

L'expression du besoin ne me semble pas claire.

"Je veux supprimer la défintion d'un plan dans le Control-M Server afin qu'il ne soit plus utilisé (pour l'instant, la définition dans l'EM est conservé)."
Faut-il comprendre que vous souhaitez supprimer une table de la base de définitions du Control-M/Serveur ?
Vous pouvez le faire au niveau Control-M/Serveur avec l'utilitaire ctmpsm:
ctmpsm -SCHEDTAB -REMOVE "Nom_de_la_table"

Cordialement

User avatar
milodanlso
Nouveau
Nouveau
Posts: 4
Joined: 06 Aug 2010 12:00

Post by milodanlso » 20 Jun 2014 3:15

Bonjour,

Ben voilà... C'est ce que je voulais.
Merci beaucoup :D

Post Reply