3/12/2016 - 7:07 AM

diglloydTools IntegrityChecker - Command Line

diglloydTools IntegrityChecker - Command Line

diglloydTools IntegrityChecker - Command Line

diglloydTools four commands depending on what tool i want to use:

  1. disktester
  2. mt
  3. ic
  4. dgl

ic is for Integrity Checker, the primary tool i use for managing the integrity of archived client work.

Within Integrity Checker we have a couple of options:

- verify
- status
- update
- clean

Example: $ ci update

####Notes To Myself

I'm new to command line so a few notes to myself:

Acessing Client Files volume. $ cd /volumes/client\ files

Stepping backwards in a directory. $ cd ..

##Command line tips

####Volume name You do not need to use /Volumes/Name for a volume eg the following are equivalent:

ic verify /Volumes/Master
ic verify Master

####Multi-path You can specify any number of paths for verify/update-*/status/clean.

or example, three volumes and ~/Library are specified here:

ic verify Master Backup1 Backup2 /Users/lloyd/Library

####Performance If you want to process more than one volume at a time (which are on distinct physical drives), running them in parallel is much faster than in one pass, because processing speed is almost always limited by disk speed. Therefore, more than one 'ic' can run in parallel with plenty of CPU power available.

This approach is the slowest, because the files are dealt with in order:

ic verify Master Backup1 Backup2 MyDVD

Instead, invoke a separate ic for each volume, each in a separate Terminal window. Each ic can then run on its own in parallel with the others:

ic verify Master
ic verify Backup1
ic verify Backup2
ic verify MyDVD

####Stopping a command line test

To stop an in-progress test, use control-c (you must be in the Terminal window with the running disktester process). Hold down the control key and press 'c'. The control key is the key labeled “control” on the standard Apple US keyboard; it’s right next to the “option” key.

A control-c sends a “signal” to disktester that it needs to quit. You should immediately see a message similar to this one:

Caught signal 2 (SIGINT)
Program should respond within a few seconds.
Test canceled by user request.

In most cases, disktester will quit within a second or two, though it might take longer with certain tests and/or very large chunk sizes.

If you do not see something like the above immediately (ie nothing at all), it means that disktester has “hung”, typically within a MacOS file-manager call. DiskTester no longer has control and isn’t running in the sense that it is waiting for a request to finish and no longer has any control over what happens. This can be caused by hardware problems of various kinds, such as a bad cable, driver bug, bad drive, etc. It could also be caused by an operating system bug (rare) or driver bug or hardware bug. In such cases, disktester typically is using 0% CPU time (you can check using Activity Monitor).

If DiskTester has not responded to control-c, you can try control-z, which means “stop the process (disktester) from running”. Always try control-c first! After typing control-z, you should see something like the following:


Now you can attempt to kill the running 'disktester' process. The “kill” command means what it says: the “-9” part means to do it with no warning to the program, and the “%1” part means “job number 1”:

llcMP:~ lloyd$ kill -9 %1
[1]+ Stopped /disktester run-async-test X8
What the above output is saying is that the program is stopped; sometimes it can’t actually be killed until it is told to run again (after issuing the “kill” command).  Use the “fg” command  If successful, you’ll see something like the following:

llcMP:~ lloyd$ fg
-bash: fg: job has terminated

If none of the above works, you can try waiting a minute or so to see if there is any change (unlikely); if not it’s “pull the power plug” time. But first, if possible, save any unsaved files and quit open programs. (This may or may not be possible