Page History
Validating CheckSums of Bitstreams
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
Checksum Checker is program that can run to verify the checksum of every item within DSpace. Checksum Checker was designed with the idea that most System Administrators will run it from the cron. Depending on the size of the repository choose the options wisely.
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3fd9fafe-f4b2-4048-9b91-63f702fd4569"><ac:plain-text-body><![CDATA[ | Command used: |
|
Java class: | org.dspace.app.checker.ChecksumChecker | |
Arguments short and (long) forms): | Description | |
| Loop continuously through the bitstreams | |
| Specify a handle to check | |
| Space separated list of bitstream IDs | |
| Check count | |
| Checking duration | |
| Calls online help | |
| Loop once through bitstreams | |
| Prune old results (optionally using specified properties file for configuration | |
| Report all processing |
...
Available command line options
*Limited-count mode:* {{\Wiki Markup [
DSDOCDEV:dspace
\]/bin/dspace
checker
\-c
}} To check a specific number of bitstreams. The _\-c_ option if followed by an integer, the number of bitstreams to check. Example: {{\[dspace/bin/dspace
checker
\-c
10
}} This is particularly useful for checking that the checker is executing properly. The Checksum Checker's default execution mode is to check a single bitstream, as if the option was _\-c 1_unmigrated-wiki-markup*- Duration mode:* {{\
[
DSDOCDEV:dspace
\]/bin/dspace
checker
\-d
}} To run the Check for a specific period of time with a time argument. You may use any of the time arguments below: Example: {{\[dspace/bin/dspace
checker
\-d
2h
}} (Checker will run for 2 hours)The checker will keep starting new bitstream checks for the specific durations, so actual execution duration will be slightly longer than the specified duration. Bear this in mind when scheduling checks.s
Seconds
m
Minutes
h
Hours
d
Days
w
Weeks
y
Years
*Specific Bitstream mode:* {{\Wiki Markup [
DSDOCDEV:dspace
\]/bin/dspace
checker
\-b
}} Checker will only look at the internal bitstream IDs. Example: {{\[
DSDOCDEV:dspace
\]/bin/dspace
checker
\-b
112
113
4567
}} Checker will only check bitstream IDs 112, 113 and 4567.unmigrated-wiki-markup- *Specific Handle mode:* {{\
[
DSDOCDEV:dspace
\]/bin/dspace
checker
\-a
}} Checker will only check bitstreams within the Community, Community or the item itself. Example: {{\[
DSDOCDEV:dspace
\]/bin/dspace
checker
\-a
123456/999
}} Checker will only check this handle. If it is a Collection or Community, it will run through the entire Collection or Community. *Looping mode:* {{\Wiki Markup [
DSDOCDEV:dspace
\]/bin/dspace
checker
\-l
}} or {{\[
DSDOCDEV:dspace
\]/bin/dspace
checker
\-L
}} There are two modes. The lowercase 'el' (-l) specifies to check every bitstream in the repository once. This is recommended for smaller repositories who are able to loop through all their content in just a few hours maximum. An uppercase 'L' (-L) specifies to continuously loops through the repository. This is not recommended for most repository systems. *Cron Jobs*. For large repositories that cannot be completely checked in a couple of hours, we recommend the \ -d option in cron. *Pruning mode:* {{\Wiki Markup [
DSDOCDEV:dspace
\]/bin/dspace
checker
\-p
}} The Checksum Checker will store the result of every check in the checksum_history table. By default, successful checksum matches that are eight weeks old or older will be deleted when the \ -p option is used. (Unsuccessful ones will be retained indefinitely). Without this option, the retention settings are ignored and the database table may grow rather large\!
Checker Results Pruning
As stated above in "Pruning mode", the checksum_history table can get rather large, and that running the checker with the -p assists in the size of the checksum_history being kept manageable. The amount of time for which results are retained in the checksum_history table can be modified by one of two methods:
Editing the retention policies in {{\Wiki Markup [
DSDOCDEV:dspace
\]/config/dspace.cfg
}} See Chapter 5 Configuration for the property keys. OR- Pass in a properties file containing retention policies when using the -p option.To do this, create a file with the following two property keys:
You can use the table above for your time units. At the command line: {{\Code Block checker.retention.default = 10y checker.retention.CHECKSUM_MATCH = 8w
Wiki Markup [
DSDOCDEV:dspace
\]/bin/dspace
checker
\-p
retention_file_name
<ENTER>
}}
Checker Reporting
...
Checksum Checker uses log4j to report its results. By default it will report to a log called {{\[
DSDOCDEV:dspace
\]/log/checker.log
}}, and it will report only on bitstreams for which the newly calculated checksum does not match the stored checksum. To report on all bitstreams checked regardless of outcome, use the _\-v_ (verbose) command line option:
{{\ Wiki Markup [
DSDOCDEV:dspace
\]/bin/dspace
checker
\ -l
\ -v
}} (This will loop through the repository once and report in detail about every bitstream checked.unmigrated-wiki-markup
To change the location of the log, or to modify the prefix used on each line of output, edit the {{\[
DSDOCDEV:dspace
\]/config/templates/log4j.properties
}} file and run {{\[
DSDOCDEV:dspace
\]/bin/install_configs
}}.
Cron or Automatic Execution of Checksum Checker
...
Optionally, you may choose to receive automated emails listing the Checksum Checkers' results. Schedule it to run after the Checksum Checker has completed its processing (otherwise the email may not contain all the results).
...
Command used: |
|
Java class: | org.dspace.checker.DailyReportEmailer |
Arguments short and (long) forms): | Description |
| Send all the results (everything specified below) |
| Send E-mail report for all bitstreams set as deleted for today. |
| Send E-mail report for all bitstreams not found in assetstore for today. |
| Send E-mail report for all bitstreams where checksum has been changed for today. |
| Send the Unchecked bitstream report. |
| Send E-mail report for all bitstreams set to longer be processed for today. |
| Help |
...