Request for Opinion - JCL but for Linux??
Any interest in this:
LJL is a job creation language that takes a job file, gathers items mentioned in its various lines and here-documents, and generates a runnable .deck file (short for "deck of cards").
The .deck file is a complex Bash script that creates a log spool and several temporary files in /tmp/. It automatically cleans up scratchable files after the run. The log file contains the output of each step, including any program results.
Any questions about it? Any suggestions?
This entry was edited (3 weeks ago)
WasPentalive
in reply to WasPentalive • • •More Detail:::
What SUBMIT Does with Each LJL Statement:
For every statement, SUBMIT generates corresponding commands in the
.deck
file.Below is a step-by-step breakdown:
One //jo line, as many /dd lines as are required, and as many //ex as are required
//jo sumjob owner=me@mail.com log=print class=a
ifclass a
, which checks if thejob's class allows execution at run time.
/var/log/JCL/
with a timestamp.(e.g., via
figlet sumjob
).Job Classes:
A = Runs as soon as submitted
B = Runs only if load is low enough
C = Runs in Off-Hours
//dd alias source(here|file=pathandfilename|new) disp(keep|scratch)
if the disp(scratch) then the file will go into the /tmp/jobname directory as named by the alias.
-- if source is here: copy lines from lcl up to '/*' to the deck file as a here document
if source is a file: add commands to copy the file into a working directory either in user's home
or in the tmp directory under the alias.
//dd users source(file=/etc/passwd) disp(keep) ==> copy /etc/passwd to /home/user/.ljl/users
//ex somecommand --options < alias
-Generate doc commands to execute the program as specified and save the output to the logfile
In this case echo (
somecommand --options < aliasproperlyexpanded
) > logfileThe deck file now forms a fully functional batch file to do the specified computation.
Nanook
in reply to WasPentalive • •WasPentalive
in reply to Nanook • • •WasPentalive
in reply to WasPentalive • • •//jo jobname owner(username) log(mailto=user@location) class(a)
//** Note that the next step copies /etc/passwd to /tmp/jobname/passwd and then later deletes it when the job is done
//dd passwd disp(scratch) source(file=/etc/passwd)
//ex cat passwd