|
NAMEodo - an atomic odometer for the command lineSYNOPSISodo [-c | -i | -r | -s COUNT] [-p] fileDESCRIPTIONodo atomically updates a count in a file, which will be created if not present. The count is text-formatted (e.g. "00012345\n"), and will be accurately incremented or reset even when multiple processes attempt to change the counter at the same time. (It uses memory mapping and atomic compare-and-swap operations to eliminate race conditions.)This could be used to track some intermittent event, like services being restarted. Since the counter is just a number in a text file, it´s easy ls to compose odo with other tools. OPTIONSThese options impact how the counter is updated:
EXIT STATUSReturns 0 if the counter has been successfully updated. Returns 1 if the file could not be read, created, or written, or if its current contents do not match the expected format of a counter file.EXAMPLESThis atomically increments a counter in /log/restarts. If the counter file does not exist, it is created as 0 and incremented to 1.
Same, but print the updated count:
Reset the count to 0:
Set the count to a number (for testing notifications, perhaps):
Print the current counter value without incrementing:
Print usage / help:
BUGSodo´s atomicity is only as reliable as the underlying filesystem´s. Inconsistencies may still occur if used on a non-local filesystems such as nfs.COPYRIGHTodo is Copyright (C) 2014 Scott Vokes scott.vokes@atomicobject.com.SEE ALSOrunit(8), sqlite3(1), nfsd(8)
Visit the GSP FreeBSD Man Page Interface. |