Submitting jobs to run wsadmin scripts
In a flexible management environment, we can submit the Run wsadmin script job to run commands in a wsadmin script file on managed targets of the job manager. We must distribute the wsadmin script file before we can submit jobs that run the script file.
Before running the Run wsadmin script job, do the following:
- Start the job manager and the targets. If a target is a stand-alone application server, also start the administrative agent.
- Develop the wsadmin script file.
For example, create a script file named extract_server_props.py that has the following script in the Jython language:
AdminTask.extractConfigProperties('[-propertiesFileName server.props -configData Server=server1 ]')
The script runs the extractConfigProperties command to extract the server configuration properties file of an application server named server1. The server configuration properties are written to a file named server.props.
The return code of the script determines the success or failure of a job that runs the script. If the script has a return code of zero (0), the job is successful. If the return code is a nonzero value, the job fails.
For more information, see topics on wsadmin scripting.
- Copy the script file to the /config/temp/JobManager directory of the job manager profile.
If the JobManager directory does not exist, create the JobManager directory in the job manager profile /config/temp directory. To create and access the directory, you must have the appropriate authority.
If the script file exists on a managed target, we can run the Collect file job to copy the script file from the managed target to the job_manager_profile/config/temp/JobManager/jobToken/targetName directory. See the topic on the collect file job.
- Run the Distribute file job to copy the script file to managed targets. Remember any destination value specified when distributing the file. See the topic on the distribute file job.
For the extract_server_props.py script example, you might assign a Destination value of extract_server_props.py.
We can use the administrative console of the job manager or the deployment manager to submit a job that runs a wsadmin script file on selected targets. From the console, choose the Run wsadmin script job, specify the file, specify job options, schedule the job, review the summary, and submit the job.
Instead of using a console, we can run the runWsadminScript job in the AdministrativeJobs command group. See the Administrative job types topic.
- Click Jobs > Submit from the navigation tree of the administrative console.
- Choose a job to run a script.
- Select the Run wsadmin script job type from the list.
- Optionally describe the job.
- Click Next.
- Choose the targets on which to run the script.
- Select a group of targets from the list, or select Target names.
- If we selected Target names, then specify a target name and click Add, or click Find and specify the chosen targets on the Find targets page.
For example, suppose that you submitted a job that distributed the extract_server_props.py Jython script file. Specify targets that have a server named server1. If an administrative agent or deployment manager manages multiple application server targets that have a server named server1, specify only one target. When specified multiple targets, only the last created server.props file persists. Previously created server.props files are overwritten.
- If user authentication is required, specify a user name, password, or any other authentication values as needed.
- Click Next.
- Specify job parameters.
- For Script file location, specify the Destination value given when distributing the script file.
For example, suppose that you submitted a job that distributed the Jython script file extract_server_props.py and assigned a Destination value of extract_server_props.py. For Script file location, use the destination value:
For the extract_server_props.py script to run successfully, the targets specified for Target names must have a server named server1.
- For Profile location, optionally specify the profile destination value that was given when the file was distributed to the targets.
- For Script parameters, specify parameters that are needed to run the wsadmin script.
If a parameter attribute contains any spaces, place double quotation marks (") around the parameter. If a quoted parameter attribute contains imbedded quotes, put a backslash before the imbedded quotes. For the extract_server_props.py example, optionally specify that wsadmin use the Jython language:
- Click Next.
- Schedule the job.
The times and dates specified are relative to the job manager.
- Optionally specify one or more email addresses where notifications are sent when the job finishes.
- Select when the job is available for submission.
We can submit the job to be available now, or specify a time and date that the job is retrieved from the job manager.
- Select the job expiration.
- Optionally specify a recurring interval for the job, a start date and time for the interval, and an end date and time for the interval.
- Click Next.
- Review the summary, and click Finish to submit the job.
The targets run the job.
What to do next
On the Job status page, click the ID of the run wsadmin script job and view the job status. Click the status refresh icon
to refresh the displayed status.
If the job is not successful, view any error messages that result from running the job, correct the error condition, and submit the job again.
If the job status is Succeeded, verify that the script ran successfully. For the extract_server_props.py example, when the script runs successfully the targets extract the server1 properties to a file named server.props. A deployment manager places the file in its main directory, for example, Dmgr01. A stand-alone target places the file in the main directory of its administrative agent, for example, AdminAgent01.
Use wsadmin scripting Set up a job manager environment Start and stop the job manager Start and stop the administrative agent Start and stop the deployment manager Collecting files for the job manager Distributing files from the job manager to targets Administer groups of nodes for the job manager Checking job status
Administrative job types Find targets Find target resources