I guess if you write a set of declarations for NixOS you can copy that same file to the new machine. Thanks for the pointers. What about the “install facts” being just a byproduct of the first install? You don’t even have to write a script… anyway. It seems there are ways to do this already, Thanks!
I have changed the syntax a little:
//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 passed
//!! End of Job
What if one could use this to submit jobs to run on a local server (or a far away one) via email - mail lcl@remoteserver.org Then either paste in the lcl file or attach it to the email. If your owner clause is an email address, the job will be returned via email. The username on the owner clause has to be also a user on the remoteserver. If your username on the two machines differ, you may have to use a //ex to send the log back to you.
ce n’est pas un comment
It is not mandatory that you install it - Yes, there are other choices already. But in the beginning, Unix only had C and Assembly why didn’t we just stick with those?
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
Generates a deck command to invoke ifclass a
, which checks if the
job’s class allows execution at run time.
Generates a deck command to Log “sumjob is starting” to /var/log/JCL/
with a timestamp.
Generates a deck command to create /tmp/sumjob
Generates a deck command to initializes /tmp/sumjob/jobname.log with a formatted header
(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)
Note the disp (disposition) if keep the put the file in /home/user/.lcl/jobname as whatever the alias is if the disp(scratch) then the file will go into the /tmp/jobname directory as named by the alias.
Generate deck commands to
– 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
) > logfile
The deck file now forms a fully functional batch file to do the specified computation.
I manually created a .deck file to compile and run a Fortran program with specific data and to create a .log file of all the output, the Fortran program, and the data. I found it to be picky and somewhat hard. So I thought to myself: With something like JCL, one could take simple JCL-like statements, here documents for the source and data files, and programmatically combine them to make a script like the one I created manually.
I have not done one yet - but I have had the camera less than 3 months.
Debian/KDE because I like the way I can customize (1 panel on the left with everything) No features removed just as one gets used to them. (looking at you gnome) No breaking changes to the desktop gadget api every update (you gnome again) Nice big repo.
Sorry my drawing did not come out well.
Drawing it up… : ^) Sorry, I am not a very good artist and it’s hard getting AI to give you exactly what you want when you want something exact.
t+ and T- to upstream neighbor (2) + a single wire from upstream to tell you to send (3), R+ and R- (5) to down stream neighbor + a single wire to let downstream know when you can receive from them.(6) And a pair to control a relay in what would be like a token ring MAU. Token ring is also a logical ring and a physical star: All the physical cables come to a central hub (physical star) but the machines are connected
Logical Ring Physical Star
+-->[ r t ]--> [r t] -->[ r t ]--> [r t] --> [ r t]--+ [ machine1 ] ===== cat 6 ==== | mau |=====cat6== [ machine 3 ]
| | [ machine2 ]====== cat 6 ====| |====cat 6 == [ machine 4 ]
+-----------------------------------------------------+
until the last machine loops around to connect to the first.
Is it anything like token ring? No, The difference is no token to lose, No ring master or deputy ring master to lead things- everyone just plays along according to basic rules. Any machine can move data to it’s upstream neigbor at any time that neighbor is ready to take it, no one machine at a time getting to talk. So it’s not like token ring. Also unlike Ethernet, you can connect any number of machines in a ring: 5 for a small office, 20 for a department of a large firm, 200 for every employee of a firm, 2000 for all the offices of a company or a part of a neighborhood. Since machines are not contending for bandwidth there is no collision, no backdown and resend.
Rings of machines are connected to bigger rings via gateways - which also have their own way of assigning addresses to each of their ports.
I don’t bend my values for entertainment. I pick my OS for privacy and freedom first. If a game won’t run on it, that game doesn’t run in my life.
Looks like a line by line translation from the python. Will you use it to backup your home directory?
@droolio@feddit.uk I see what you’re asking. You’re wondering if, instead of storing a duplicate file when another backup set already contains it, I could use a hardlink to point to the file already stored in that other set?
I have a system where I create a backup set for each day of the week. When I do a backup for that day, I update the set, or if it’s out of date, I replace it entirely with a fresh backup image (After 7 backups to that set). But if the backup sets became inter-dependent, removing or updating one set could lead to problems with others that rely on files in the first set.
Does that make sense? I am asking because I am not familiar with the utilities you mentioned and may be taking your post wrong.
Especially one that lets you know how long it’s been since you took time to run a backup, keeps track of which set of backups could be updated, and which should be refreshed, and keeps a log file up to date and in .csv format so you can mess with it in a spreadsheet?
My WiFi password is basically a “Login Banner” that forbids use without permission. It’s long. https://security.tennessee.edu/login-banners/ (I was hoping for a Wikipedia article but this will do)
Thanks!
code point in charset: 0x3A script: latin syntax: . which means: punctuation category: .:Base, a:ASCII, l:Latin, r:Roman to input: type “C-x 8 RET 3a” or “C-x 8 RET COLON” buffer code: #x3A file code: #x3A (encoded by coding system utf-8-unix)
code point in charset: 0x20 script: latin syntax: which means: whitespace category: .:Base, a:ASCII, l:Latin to input: type “C-x 8 RET 20” or “C-x 8 RET SPACE” buffer code: #x20 file code: #x20 (encoded by coding system utf-8-unix)
code point in charset: 0x3D script: latin syntax: _ which means: symbol category: .:Base, a:ASCII, l:Latin, r:Roman to input: type “C-x 8 RET 3d” or “C-x 8 RET EQUALS SIGN” buffer code: #x3D file code: #x3D (encoded by coding system utf-8-unix)