1 &version 2
  2 &-  ***********************************************************
  3 &-  *                                                         *
  4 &-  * Copyright, (C) Honeywell Information Systems Inc., 1982 *
  5 &-  *                                                         *
  6 &-  * Copyright (c) 1972 by Massachusetts Institute of        *
  7 &-  * Technology and Honeywell Information Systems, Inc.      *
  8 &-  *                                                         *
  9 &-  ***********************************************************
 10 &-
 11 &- HISTORY COMMENTS:
 12 &-  1) change(2019-05-22,Swenson), approve(2019-05-22,MCR10055),
 13 &-     audit(2019-05-22,JJohnson), install(2019-05-22,MR12.6g-0020):
 14 &-     Fix annoying qedx prompt when running "ec master day".
 15 &-  2) change(2022-11-18,Swenson), approve(2022-11-18,MCR10128),
 16 &-     audit(2022-11-18,GDixon):
 17 &-     Fix malformed output in crank.absout. Fixed attempts to truncate
 18 &-     nonexistent segments. Add system logprint support for hierarchy and
 19 &-     volume incremental backups. Add log summary support for hierarchy and
 20 &-     volume incremental backups.
 21 &-                                                      END HISTORY COMMENTS
 22 &-
 23 &-
 24 &- -
 25 &- -      Multics administrative operations
 26 &- -
 27 &- -      this exec_com does most of the
 28 &- -      day-to-day stuff of adding and deleting users
 29 &- -
 30 &- -      Modified September 1977 by T. Casey for MR6.0
 31 &- -      Modified August 1979 by C. Hornig for MR8.0
 32 &- -      Modified July 1981 by T. Casey for MR9.0
 33 &- -      Modified March 1982 by E. N. Kittlitz for qedx -pathname -no_rw_path.
 34 &- -      Modified September 1982 by E. N. Kittlitz for pmf suffixes.
 35 &- -      Modified February 1984 by Jim Lippard to use the segments command
 36 &- -      instead of check_info_segs.
 37 &-        Modified 1984-09-04 by E. Swenson for Version 2 PNTs.
 38 &-        Modified 1984-12-11, BIM:  summarize_sys_log, version 2, new value.
 39 &-        Modified 1985-01-10, Keith Loepere, to move dir_quota into new_proj.
 40 &- -
 41 &- ---------------------------------------------
 42 &trace &command off
 43 &trace &input off
 44 &goto &1
 45 &- - - - - - - - - - - - - - - - - - - - - -
 46 &-
 47 &- DO NOT DELETE new_smf. Even though the command has been undocumented,
 48 &- "install sat" or "install smf.cur.sat" will goto new_smf.
 49 &-
 50 &label new_smf
 51 admin_util lock
 52 daily_summary -nosum -nocutr
 53 install smf.cur.sat
 54 admin_util unlock
 55 &quit
 56 &- - - - - - - - - - - - - - - - - - - - - -
 57 &label pmf
 58 &if &[not [exists argument &2]] &then exec_com err noarg Projectid
 59 admin_util lock
 60 archive x pmf &2.pmf
 61 &if &[not [exists segment &2.pmf]] &then exec_com err no_pmf &2
 62 &print Edit.
 63 qedx -pathname &2.pmf -no_rw_path
 64 cv_pmf &2.pmf
 65 &if &[ngreater [severity cv_pmf] 2] &then delete &2.pmf; exec_com err try_again
 66 archive rd pmf &2.pmf
 67 install &2.pdt
 68 delete &2.pdt
 69 admin_util unlock
 70 &quit
 71 &- - - - - - - - - - - - - - - - - - - - - -
 72 &label install
 73 &if &[equal &2 sat] &then &goto new_smf
 74 &if &[equal &2 smf.cur.sat] &then &goto new_smf
 75 install &2
 76 &quit
 77 &- - - - - - - - - - - - - - - - - - - - - -
 78 &label misc
 79 misc
 80 &quit
 81 &label charge
 82 misc$charge
 83 &quit
 84 &label credit
 85 misc$credit
 86 &quit
 87 &label dmisc
 88 misc$dmisc
 89 &quit
 90 &- - - - - - - - - - - - - - - - - - - -
 91 &label new_proj
 92 &if &[not [exists argument &2]] &then exec_com err noarg Projectid
 93 admin_util lock
 94 new_proj &2
 95 cv_pmf &2.pmf
 96 &if &[ngreater [severity cv_pmf] 2] &then exec_com err bad_pmf
 97 daily_summary -nosum -nocutr
 98 install smf.cur.sat
 99 install &2.pdt
100 delete &2.pdt
101 &if &[exists segment >udd>&2>&2.pmf]
102 &then delete &2.pmf
103 &else archive rd pmf &2.pmf
104 admin_util unlock
105 &quit
106 &- - - - - - - - - - - - - - - - - - - - - -
107 &label cu
108 &- Adding new user &2 on project &3.
109 &if &[not [exists argument &3]] &then exec_com err noarg Projectid
110 &if &[not [is_legal_proj &3]] &then exec_com err bad_proj &3
111 create_dir >user_dir_dir>&3>&2
112 set_iacl_dir >user_dir_dir>&3>&2 sma *.SysDaemon.*
113 set_iacl_seg >user_dir_dir>&3>&2 rew *.SysDaemon.*
114 set_acl >user_dir_dir>&3>&2 sma &2.&3.*
115 &quit
116 &- - - - - - - - - - - - - - - - - - - - - -
117 &label setdisk
118 enter_abs_request dodrp -rt -tm [value_get -pn sys_admin disk_time] -queue 1
119 &quit
120 &- - - - - - - - - - - - - - - - - - - - - -
121 &label disk_auto
122 &label disk_report
123 &label drp
124 &if &[exists segment diskreport] &then truncate diskreport
125 &print $ Following figure is total quota / current use.
126 sweep
127 &label findisk
128 admin_util lock 1800
129 value_set -pn sys_admin last_diskreport [clock calendar_clock]
130 charge_disk
131 admin_util unlock
132 file_output diskreport
133 print_disk
134 disk_stat_print
135 ioa_ "^|"
136 ioa_ "^/Projects 90% or <20"
137 disklow
138 ioa_ "^/Projects 80%"
139 disklow 0 80
140 ioa_ "^/Projects <40"
141 disklow 40 100
142 get_quota > >user_dir_dir >dumps
143 list_vols
144 revert_output
145 &goto &1_end
146 &label disk_auto_end
147 exec_com util dp diskreport accts0 2
148 exec_com util dp diskreport admin0 2
149 exec_com util dp diskreport admin1 2
150 exec_com util dp diskreport default 1
151 enter_abs_request dodrp -rt -tm [value_get -pn sys_admin disk_time] -queue 1
152 &quit
153 &-
154 &label disk_report_end
155 &label findisk_end
156 &label drp_end
157 &quit
158 &- - - - - - - - - - - - - - - - - - - - - -
159 &label rqm
160 &- Request copies of "&2" for the Multics distribution
161 &if &[not [exists argument &2]] &then exec_com err noarg file_name
162 &if &[not [exists file &2]] &then exec_com err nofile &2
163 exec_com util dp &2 admin0 &3
164 exec_com util dp &2 admin1 &3
165 exec_com util dp &2 assurance0 &3
166 exec_com util dp &2 assurance1 &3
167 exec_com util dp &2 director0 &3
168 exec_com util dp &2 director1 &3
169 exec_com util dp &2 director2 &3
170 exec_com util dp &2 director3 &3
171 exec_com util dp &2 director4 &3
172 exec_com util dp &2 director5 &3
173 exec_com util dp &2 director6 &3
174 exec_com util dp &2 director7 &3
175 exec_com util dp &2 sysprg0 &3
176 exec_com util dp &2 sysprg2 &3
177 exec_com util dp &2 default &3
178 &quit
179 &- - - - - - - - - - - - - - - - - - - - - -
180 &label upmf
181 admin_util lock
182 &if &[not [exists argument &3]] &then exec_com err noarg Personid
183 &- add single user "arg-3" to project "arg-2"
184 archive x pmf &2.pmf
185 &if &[not [exists segment &2.pmf]] &then exec_com err no_pmf &2
186 &attach
187 qedx -pathname &2.pmf -no_rw_path
188 $i personid:                  &3;
189 \f
190 w
191 q
192 &detach
193 cv_pmf &2.pmf
194 &if &[ngreater [severity cv_pmf] 2] &then delete &2.pmf; exec_com err try_again
195 install &2.pdt
196 archive rd pmf &2.pmf
197 delete &2.pdt
198 &if &[not [is_he_user &3]] &then &print Warning: &3 not registered.
199 admin_util unlock
200 &quit
201 &- - - - - - - - - - - - - - - - - - - - - -
202 &label register
203 new_user
204 &quit
205 &label reg
206 new_user$nu
207 &quit
208 &- - - - - - - - - - - - - - - - - - - - - -
209 &label undelegate
210 &if &[not [exists argument &2]] &then exec_com err noarg Projectid
211 &if &[exists entry >udd>&2>&2.pmf] &then &else &goto und_not_in_proj_dir
212 copy >udd>&2>&2.pmf ===.pj
213 &if &[exists segment &2.pmf.pj] &then &print A copy of >udd>&2>&2.pmf has been saved in [wd]>&2.pmf.pj
214 &label und_not_in_proj_dir
215 archive x pmf &2.pmf
216 &if &[exists segment &2.pmf] &then &else &goto und_not_in_archive
217 rename &2.pmf &2.pmf.ac
218 &print A copy of &2.pmf from pmf.archive has been saved in [wd]>&2.pmf.ac
219 &label und_not_in_archive
220 exec_com master recov &2
221 &goto undelegate1
222 &-
223 &label delegate
224 &label add_admin
225 &if &[exists argument &2] &then &else exec_com err noarg Projectid
226 &if &[exists argument &3] &then &else &goto delegate_no_pmf_dir
227 archive x pmf &3>&2.pmf
228 &if &[exists segment &3>&2.pmf] &then &else &goto delegate_not_pmf_archive_1
229 &print &2.pmf extracted from pmf.archive into &3 and deleted from archive
230 archive d pmf &2.pmf
231 &goto undelegate1
232 &label delegate_not_pmf_archive_1
233 exec_com master recov &2 &3
234 &goto undelegate1
235 &label delegate_no_pmf_dir
236 archive x pmf &2.pmf
237 &if &[exists segment &2.pmf] &then &else &goto delegate_not_pmf_archive
238 delete &2.pmf
239 &print &2 remains in pmf.archive. No pmf directory specified.
240 &goto undelegate1
241 &label delegate_not_pmf_archive
242 exec_com master recov &2
243 &label undelegate1
244 edit_proj &2 administrator
245 daily_summary -nosum -nocutr
246 install smf.cur.sat
247 &quit
248 &- - - - - - - - - - - - - - - - - - - - - -
249 &label dproj
250 &if &[not [exists argument &2]] &then exec_com err noarg Projectid
251 admin_util lock
252 safety_sw_off >udd>&2
253 delete_proj &2
254 daily_summary -nosum -nocutr
255 install smf.cur.sat
256 archive d pmf &2.pmf
257 get_quota >user_dir_dir>&2 >user_dir_dir>&2>**
258 delete_dir >user_dir_dir>&2
259 admin_util unlock
260 &quit
261 &- - - - - - - - - - - - - - - - - - - - - -
262 &label pmisc
263 &- print the miscfile.
264 misc$print_misc
265 &quit
266 &- - - - - - - - - - - - - - - - - - - - - -
267 &label who_delg
268 &- see if the given project is delegated and if so to whom.
269 list_delegated_projects >system_control_1>sat &2
270 &quit
271 &- - - - - - - - - - - - - - - - - - - - - -
272 &label ison
273 &if &[not [exists argument &2]] &then exec_com err noarg Person
274 ioa_ [is_he_user &2]
275 get_uid_with_lastname &2
276 &quit
277 &- - - - - - - - - - - - - - - - - - - - - -
278 &label change
279 new_user$change &f2
280 &quit
281 &- - - - - - - - - - - - - - - - - - - - - -
282 &label dpmf
283 admin_util lock
284 &if &[not [exists argument &3]] &then exec_com err noarg Personid
285 &- deleting "&3" from proj "&2"
286 archive x pmf &2.pmf
287 &if &[not [exists segment &2.pmf]] &then exec_com err no_pmf &2
288 &attach
289 qedx -pathname &2.pmf -no_rw_path
290 $ipersonid:
291 \f
292 /^        * *personid:        * *&3;/;/^          * *personid:/-1d
293 $-1d
294 w
295 q
296 &detach
297 cv_pmf &2.pmf
298 install &2.pdt
299 archive rd pmf &2.pmf
300 delete &2.pdt
301 admin_util unlock
302 &quit
303 &- - - - - - - - - - - - - - - - - - - - - -
304 &label add_anon
305 &- add anonymous user to proj &2, initpr &3, hdir &4, pass &5 optional
306 admin_util lock
307 &if &[not [exists argument &4]] &then exec_com err noarg >user_dir_dir>&2>homedir
308 archive x pmf &2.pmf
309 &if &[not [exists segment &2.pmf]] &then exec_com err no_pmf &2
310 &attach
311 qedx -pathname &2.pmf -no_rw_path
312 $i personid:                  *;
313 attributes:         ^vinitproc, ^vhomedir, ^nostartup;
314 homedir:            &4;
315 initproc:           &3;
316 &if &[exists argument &5] &then password:         &5;
317 \f
318 w
319 q
320 &detach
321 cv_pmf &2.pmf
322 &if &[ngreater [severity cv_pmf] 2] &then delete &2.pmf; exec_com err try_again
323 install &2.pdt
324 delete &2.pdt
325 archive rd pmf &2.pmf
326 admin_util unlock
327 &quit
328 &- - - - - - - - - - - - - - - - - - - - - - - - -
329 &label chname
330 &if &[exists argument &4] &then exec_com err quote_arg
331 &if &[not [exists argument &2]] &then exec_com err noarg Personid
332 new_user$change &2 name &3
333 &quit
334 &- - - - - - - - - - - - - - - - - - - - - - - - - -
335 &label chaddr
336 &if &[exists argument &4] &then exec_com err quote_arg
337 &if &[not [exists argument &2]] &then exec_com err noarg Personid
338 &if &[not [is_he_user &2]] &then exec_com err not_user &2
339 new_user$change &2 addr &3
340 &quit
341 &- - - - - - - - - - - - - - - - - - - - - - - - - -
342 &label chpass
343 &if &[not [exists argument &2]] &then exec_com err noarg Personid
344 &if &[not [is_he_user &2]] &then exec_com err not_user &2
345 new_user$change &2 pass
346 &quit
347 &- - - - - - - - - - - - - - - - - - - - -
348 &label chcpass
349 &if &[not [exists argument &2]] &then exec_com err noarg_nolock Personid
350 &if &[not [is_he_user &2]] &then exec_com err not_user &2
351 new_user$change &2 cpass
352 &quit
353 &- - - - - - - - - - - - - - - - - - - - -
354 &label chalias
355 &if &[not [exists argument &2]] &then exec_com err noarg Personid
356 new_user$cga &2 alias &3
357 &quit
358 &- - - - - - - - - - - - - - - - - - - - -
359 &label chdf_proj
360 &if &[not [exists argument &3]] &then exec_com err noarg Projectid
361 &if &[not [is_he_user &2]] &then exec_com err not_user &2
362 new_user$change &2 proj &3
363 &quit
364 &- - - - - - - - - - - - - - - - - - - - -
365 &label chprog
366 &if &[not [exists argument &2]] &then exec_com err noarg Personid
367 new_user$change &2 progn &3
368 &quit
369 &- - - - - - - - - - - - - - - - - - - - -
370 &label edit_projfile
371 &label edit_proj
372 &label epro
373 &label edit_reqfile
374 &label erf
375 edit_proj &f2 -long
376 daily_summary -nosum -nocutr
377 install smf.cur.sat
378 &quit
379 &- - - - - - - - - - - - - - - - - - - - -
380 &label labels
381 labl1
382 &quit
383 &- - - - - - - - - - - - - - - - - - - - -
384 &label recov
385 &if &[not [exists argument &2]] &then exec_com err noarg Projectid
386 &if &[not [is_legal_proj &2]] &then exec_com err noproj &2
387 admin_util lock
388 delete &2.pmf -bf
389 file_output &2.pmf;print_pdt >sc1>pdt>&2.pdt -pmf;revert_output
390 &if &[exists argument &3] &then &else &goto recov_no_pmf_dir
391 move &2.pmf &3>==
392 &print &2.pmf recovered from &2.pdt moved into &3.
393 &goto recov_unlock
394 &label recov_no_pmf_dir
395 archive rd pmf &2.pmf
396 &print &2.pmf recovered from &2.pdt replaced in pmf.archive.
397 &label recov_unlock
398 admin_util unlock
399 &quit
400 &- - - - - - - - - - - - - - - - - - - - -
401 &label bill
402 admin_util lock
403 exec_com biller &2 &3 &4 &5 &6 &7 &8 &9
404 admin_util unlock
405 &quit
406 &- - - - - - - - - - - - - - - - - - - - -
407 &label check_log
408 print_sys_log -as -nhe -match &2
409 &quit
410 &- - - - - - - - - - - - - - - - - - - - -
411 &label day
412 &attach
413 admin_util lock
414 &if &[not [exists segment crank.absout]] &then exec_com err crank_absout_missing
415 ioa_ "^/'day' last done ^a^/" [date_time [value_get -pn sys_admin crank_absout_read]]
416 value_set -pn sys_admin crank_absout_read [clock calendar_clock]
417 qedx -pathname crank.absout -no_rw_path
418 gd/ device detached/
419 gd/ at end of file/
420 gd/^summarize_sys_log:/
421 b1a
422 b0$-1m7
423 i \c\b7\c\f
424 b7
425 /logged out/;"
426 b01,$p
427 Q
428 \f
429 b2a
430 \c\b1
431 eioa_ "^/^/************* ERROR IN CRANK ********^/^/"
432 b01,$p
433 eioa_ "^/^/************* ERROR IN CRANK ********^/^/"
434 eexec_com err crank_abort
435 Q
436 \f
437 \b2
438 &detach
439 &label gd_day
440 admin_util lock
441 &if &[query Delete?] &then delete crank.absout
442 admin_util unlock
443 &quit
444 &- - - - - - - - - - - - -
445 &label setcrank
446 enter_abs_request crank -tm [value_get -pn sys_admin crank_time] -queue 1
447 &quit
448 &- - - - - - - - - - - - -
449 &label crank_fail
450 cancel_abs_request crank
451 value_set -pn sys_admin abort_crank false
452 &goto crank1
453 &- - - - - - - - - - - - -
454 &label crank
455 admin_util lock 1800
456 enter_abs_request crank -tm [value_get -pn sys_admin crank_time] -queue 1
457 &if &[value_get -pn sys_admin abort_crank] &then exec_com err crank_abort
458 &label crank1
459 value_set -pn sys_admin abort_crank true
460 value_set -pn sys_admin last_crank [clock calendar_clock]
461 admin_util lock
462 &- Clean out volume backup accounting files, if any are present. They are not yet used for accounting.
463 &if &[exists directory >sc1>vba] &then date_deleter >sc1>vba 7
464 exec_com util del (yesterday.projfile yesterday.reqfile)
465 &if &[exists segment sumry] &then truncate sumry
466 &if &[exists segment cutrpt] &then truncate cutrpt
467 exec_com util del PNT.safe.pnt
468 copy >system_control_1>PNT.pnt PNT.safe.pnt -brief
469 pdt_copy >system_control_dir >system_control_dir>pdt safe_pdts
470 compute_bill safe_pdts>sat safe_pdts
471 compute_bill$update_pdts_from_reqfile safe_pdts>sat >sc1>pdt
472 rename projfile yesterday.projfile
473 copy yesterday.projfile projfile
474 rename reqfile yesterday.reqfile
475 copy yesterday.reqfile reqfile
476 sort_reqfile reqfile
477 sort_projfile projfile
478 iocall attach sumry file_ sumry w
479 iocall attach cutrpt file_ cutrpt w
480 daily_summary
481 iocall detach sumry
482 iocall detach cutrpt
483 install smf.cur.sat
484 value_set -pn sys_admin abort_crank false
485 exec_com util del daily_log_(0 1 2)
486 exec_com util del system_logprint
487 exec_com util del io_logprint
488 &if &[exists segment system.report] &then
489   truncate system.report
490 delete yesterday.use_totals
491 copy today.use_totals yesterday.use_totals
492 copy_as_meters meter_data -ri
493 system_total meter_data today.use_totals
494 usage_total safe_pdts>sat safe_pdts projfile today.use_totals
495 &- CREATE usage_and_revenue.control before un-commenting the following line
496 &- file_output usage_and_revenue.report;usage_and_revenue usage_and_revenue.control today.use_totals yesterday.use_totals;revert_output
497 &-  ALSO, add a line below to "ec util dp usage_and_revenue.report"
498 file_output system.report; system_daily_report today.use_totals yesterday.use_totals; revert_output
499 copy system.report daily_log_0
500 file_output daily_log_0
501 get_quota > >user_dir_dir >dumps
502 ioa_ "Last disk report was ^a ^a ^a ^a^/" [value_get -pn sys_admin last_diskreport]
503 revert_output
504 &- ^L
505 &label test_log_reporting
506 &- First attach one switch for each actual printed.
507 &-
508 do "io_call attach &&1 vfile_ &&1;io_call open &&1 stream_output"
509 &+          (daily_log_0 daily_log_1 daily_log_2 system_logprint io_logprint)
510 &- Then use syn_ to attach many switches, one per log per type of message
511 &-    This allows the .ssl control files to be more self-explanatory.
512 
513 do "io_call attach [do &&&&1 &&1] syn_ [do &&&&2 &&1]"
514 &+ (
515 &+  "complete_as          system_logprint"     &- the entire AS log
516 &+  "complete_as_sv2      system_logprint"     &- all sv2 and above
517 &+  "as_user_errors       daily_log_0"         &-
518 &+  "as_events            daily_log_1"         &-
519 &+  "as_important_events  daily_log_2"         &- things to take special note
520 &+  "syserr_non_io        system_logprint"     &- the entire syserr log
521 &+  "syserr_user_events   daily_log_0"         &- syserr events that concern users
522 &+  "syserr_events        daily_log_1"         &- non-routine
523 &+  "syserr_errors        daily_log_2"         &- really non routine
524 &+  "io_all               io_logprint"         &- the io log
525 &+  "bk_all               system_logprint"     &- the bk log
526 &+  "vinc_all             system_logprint"     &- the vinc log
527 &+  "operator_sac         system_logprint"     &- the admin log
528 &+  )
529 &set NOW &[clock calendar_clock]
530 &set START &[clock calendar_clock [value_get -pn sys_admin last_log_time] +1usec]
531 value_set -pn sys_admin last_log_time &(NOW)
532 summarize_sys_log -answering_service -control daily_as_log -from &(START) -to &(NOW)
533 summarize_sys_log -syserr -control daily_syserr_log -from &(START) -to &(NOW)
534 summarize_sys_log -admin -control daily_admin_log -from &(START) -to &(NOW)
535 summarize_sys_log -mc_log iolog -control daily_io_log -from &(START) -to &(NOW)
536 summarize_sys_log -mc_log bklog -control daily_bk_log -from &(START) -to &(NOW)
537 summarize_sys_log -mc_log vinclog -control daily_vinc_log -from &(START) -to &(NOW)
538 &- Detach the syn_ switches.
539 io_call detach (
540 &+       complete_as
541 &+       complete_as_sv2
542 &+       as_user_errors
543 &+       as_events
544 &+       as_important_events
545 &+       syserr_non_io
546 &+       syserr_user_events
547 &+       syserr_events
548 &+       syserr_errors
549 &+       io_all
550 &+       bk_all
551 &+       vinc_all
552 &+       operator_sac
553 &+   )
554 &- Detach the report switches.
555 do "io_call close &&1;io_call detach &&1"
556 &+          (daily_log_0 daily_log_1 daily_log_2 system_logprint io_logprint)
557 
558 &- specialized reports
559 &- system_full_report and console_report
560 &-
561 &if &[equal &1 test_log_reporting] &then &quit
562 &- ^L
563 &- delete old junk from the history department
564 &-
565 date_deleter history  10 &- that is DAYS
566 &-
567 &- move old things to the history department
568 &-
569 move_log_segments syserr_log >sc1>syserr_log history 1day
570 move_log_segments log >sc1>as_logs history 1day
571 move_log_segments admin_log >sc1>as_logs history 1day
572 move_log_segments iolog >sc1>as_logs history 1day
573 move_log_segments bklog >sc1>as_logs history 1day
574 move_log_segments vinclog >sc1>as_logs history 1day
575 &- add other lines for other logs defined
576 &-
577 answer yes -bf update_heals_log
578 truncate_heals_log 30
579 &-
580 remove_registry safe_registries>**
581 delete_registry safe_registries>**
582 copy_registry >sc1>rcp>** safe_registries>== -reset
583 &-
584 &if &[exists segment meter_data.print] &then
585   truncate meter_data.print
586 &if &[exists segment bwchart.print] &then
587   truncate bwchart.print
588 &-
589 file_output meter_data.print; print_meters meter_data; revert_output
590 file_output bwchart.print; b_and_w today.use_totals last_month.use_totals; revert_output
591 &-
592 &- delete yesterday's asdump segments.
593 do "if [exists argument &&(1)] -then ""exec_com util del &&(1)""" ([segments >system_control_dir>delete.** -absp])
594 &-
595 &- snatch today's asdump segments.
596 do "if [exists argument &&(1)] -then ""entry &&(1);exec_com master grabdump &&(1)""" ([segments >system_control_dir>asdump.** -absp])
597 &-
598 &- dprint the reports
599 &- exec_com util dp system.report director0
600 exec_com util dp system.report director1
601 &- exec_com util dp (system.report meter_data.print) director2
602 exec_com util dp system.report director3
603 &- exec_com util dp system.report director4
604 exec_com util dp system.report director5
605 exec_com util dp (system.report bwchart.print) director6
606 &- exec_com util dp daily_log_2 assurance0 2
607 exec_com util dp (daily_log_2 bwchart.print) assurance1 2
608 exec_com util dp (sumry cutrpt daily_log_0 crank.absout) accts0 2
609 exec_com util dp (daily_log_1 bwchart.print) admin0 2
610 exec_com util dp daily_log_2 sysprg2
611 exec_com util dp (daily_log_0 bwchart.print sumry crank.absout) admin1 2
612 exec_com util dp (daily_log_0 daily_log_1 daily_log_2 system.report bwchart.print sumry cutrpt meter_data.print crank.absout) default 1
613 exec_com util dp (system_logprint io_logprint) admin0
614 exec_com util dp (system_logprint io_logprint) default 1
615 sms [value_get -pn sys_admin admin_online] "crank ran"
616 admin_util unlock
617 &quit
618 &- - - - - - - - - - - - - - - - - - - - -
619 &label later
620 enter_abs_request run -ag &f2
621 &quit
622 &- - - - - - - - - - - - - - - - - - - - -
623 &label proj_mtd
624 proj_mtd &2
625 &quit
626 &- - - - - - - - - - - - - - - - - - - - - -
627 &label grabdump
628 sa &2 rw
629 abc &2
630 copy &2 [entry &2]
631 exec_com util dp [entry &2] admin0
632 exec_com util dp [entry &2] default 1
633 add_name [entry &2] delete.[entry &2]
634 delete &2
635 &quit
636 &- - - - - - - - - - - - - - - - - - - - -
637 &label rename_proj
638 admin_util lock
639 &if &[not [exists argument &3]] &then exec_com err noarg New_projectid
640 rename_proj &2 &3
641 daily_summary -nosum -nocutr
642 install smf.cur.sat
643 archive x pmf &2.pmf
644 &if &[not [exists segment &2.pmf]] &then &goto rename_ok
645 rename &2.pmf &3.pmf
646 &attach
647 qedx -pathname &3.pmf -no_rw_path
648 1,$s/&2/&3/
649 w
650 q
651 archive ad pmf &3.pmf
652 archive d pmf &2.pmf
653 &label rename_ok
654 admin_util unlock
655 &quit
656 &- - - - - - - - - - - - - - - - - - - - -
657 &label info
658 &label help
659 &attach
660 qedx -pathname accounts.info -no_rw_path
661 &if &[exists argument &2] &then /&2/;/^$/p &else 1,$p
662 q
663 &quit
664 &- - - - - - - - - - - - - - - - - - - - -
665 &label exec_com
666 &label ec
667 exec_com >user_dir_dir>SysAdmin>admin>&2 &f3
668 &quit
669 &- - - - - - - - - - - - - - - - - - - - -
670 &label remove_user
671 remove_user
672 &quit
673 &- - - - - - - - - - - - - - - - - - - - -
674 &label weekly
675 enter_abs_request weekly -rt -q 1 -tm [value_get -pn sys_admin weekly_time]
676 &if &[exists segment weekly.report] &then delete weekly.report
677 &if &[exists segment week_bwchart.list] &then delete week_bwchart.list
678 file_output week_bwchart.list; b_and_w today.use_totals last_month.use_totals -week; co
679 &- ec master rqm week_bwchart.list
680 exec_com util dp week_bwchart.list default 1
681 file_output weekly.report
682  list_delegated_projects >system_control_1>sat
683  print_reqfile
684  print_projfile
685  ioa_ ^|
686  ioa_ "Listing of sys_admin.value^/"
687  value_list -pn sys_admin
688  save_dir_info >udd>SysAdmin>admin
689  comp_dir_info old.admin admin -lg
690  delete old.admin.dir_info; rename admin.dir_info old.admin.dir_info
691  list_acl; list_iacl_seg; list_iacl_dir
692  list -dtm -a
693  save_dir_info >udd>SysAdmin>lib
694  comp_dir_info old.lib lib
695  delete old.lib.dir_info; rename lib.dir_info old.lib.dir_info
696  list_acl >udd>SysAdmin>lib; list_iacl_seg >udd>SysAdmin>lib; list_iacl_dir >udd>SysAdmin>lib
697  list -pn >udd>SysAdmin>lib
698  save_dir_info >system_control_1
699  comp_dir_info old.system_control_1 system_control_1 -lg
700  delete old.system_control_1.dir_info; rename system_control_1.dir_info old.system_control_1.dir_info
701  list_acl >system_control_1; list_iacl_seg >system_control_1; list_iacl_dir >system_control_1
702  list -pn >system_control_1 -dtm -a
703  save_dir_info >system_control_1>pdt
704  comp_dir_info old.pdt pdt -lg
705  delete old.pdt.dir_info; rename pdt.dir_info old.pdt.dir_info
706 revert_output
707 exec_com util dp weekly.report accts0
708 exec_com util dp weekly.report admin0
709 exec_com util dp weekly.report admin1
710 exec_com util dp weekly.report default 1
711 answer yes -brief copy >system_control_1>rate_structure_* -name -brief
712 answer yes -bf copy >system_control_1>master_group_table -bf
713 answer yes -bf copy projfile safe_projfile
714 answer yes -bf copy reqfile safe_reqfile
715 answer yes -bf copy >system_control_1>system_start_up.ec -bf
716 sms [value_get -pn sys_admin admin_online] weekly ran.
717 exec_com util dp weekly.absout admin1
718 exec_com util dp weekly.absout default 1
719 &quit
720 &- - - - - - - - - - - - - - - - - - - - -
721 &label change_wdir
722 change_wdir >user_dir_dir>SysAdmin>admin
723 &quit
724 &- - - - - - - - - - - - - - - - - - - - -
725 &label &1
726 exec_com err badcom &1
727 &- - - - - - - - - - - - - - - - - - - - - - - - - -
728 &- end