-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
888820f
commit 0f60098
Showing
7 changed files
with
216 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,8 +36,9 @@ Contents | |
:maxdepth: 1 | ||
|
||
configuration | ||
changes | ||
using | ||
api | ||
changes | ||
|
||
Indices and tables | ||
++++++++++++++++++ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
============ | ||
Using HPSSPy | ||
============ | ||
|
||
Introduction | ||
++++++++++++ | ||
|
||
The primary *command-line* interface to HPSSPy is the script | ||
:command:`missing_from_hpss`, which is automatically generated by the | ||
package install process. If you need to generate this script manually, it | ||
is equivalent to:: | ||
|
||
#!/usr/bin/env python | ||
from sys import exit | ||
from hpsspy.scan import main | ||
exit(main()) | ||
|
||
Options | ||
+++++++ | ||
|
||
There are a lot of command-line options. ``missing_from_hpss --help`` will | ||
display all of them. Just the short versions of the commands are | ||
shown here. | ||
|
||
-c DIR Cache files (described below) are written to | ||
``$HOME/scratch`` by default. This option | ||
allows the user to choose any directory. | ||
-D Delete and recreate the disk cache file | ||
(described below). | ||
-H Delete and recreate the HPSS cache file | ||
(described below). | ||
-l N Limit archive files to this size in GB. | ||
The default is 1024 GB (1 TB). | ||
-p Issue the HPSS commands necessary to actually | ||
back up the files found that need to be backed up. | ||
-r N Issue a progress report on how many files | ||
have been analyzed after ``N`` files | ||
(default 10,000). | ||
-t Test mode. Try not to make any changes. | ||
Also pretend that there are no files backed up to HPSS. | ||
-v Print *lots* of extra information. | ||
--version Print a version string and exit. | ||
|
||
Besides the options described above, :command:`missing_from_hpss` requires | ||
two positional arguments:: | ||
|
||
missing_from_hpss config.json section | ||
|
||
The two arguements are the path to a configuration file and a section of that | ||
file to process. These are extensively described in the | ||
:doc:`configuration document <configuration>`. | ||
|
||
Cache Files | ||
+++++++++++ | ||
|
||
:command:`missing_from_hpss` uses a few cache files primarily to reduce | ||
memory footprint. These files will be stored in ``$HOME/scratch`` | ||
by default. The files are: | ||
|
||
Disk Cache | ||
A CSV file of the form ``disk_cache_<section>.csv``, where ``<section>`` is | ||
the section (as defined above) specified on the command-line. The | ||
columns are file name and file size in bytes. | ||
|
||
HPSS Cache | ||
A plain-text file of the form ``hpss_cache_<section>.txt``, | ||
where ``<section>`` is the section (as defined above) specified on | ||
the command-line. This is simply a list of files found on HPSS. | ||
|
||
Missing File Cache | ||
A JSON file of the form ``$HOME/scratch/missing_files_<section>.json``, | ||
where ``<section>`` is the section (as defined above) specified on the | ||
command-line. It contains a map of HPSS archive files to the files that | ||
belong in that archive. In addition the size of the resulting files | ||
(modulo small overheads from the archive file creation process) will | ||
be saved to this file. | ||
|
||
These files are *not* cleaned up by default because they are very useful | ||
for debugging purposes. | ||
|
||
Testing and Quality Assurance | ||
+++++++++++++++++++++++++++++ | ||
|
||
To test a configuration file just run :command:`missing_from_hpss` with the | ||
``--test`` option as described above. Aside from creating cache files in | ||
a scratch directory as described above, this mode will not alter any of the | ||
data, neither on disk nor on HPSS. | ||
|
||
In addition to validating JSON files and regular expressions, as | ||
described in the :doc:`configuration document <configuration>`, | ||
:command:`missing_from_hpss` will: | ||
|
||
1. Make sure all regular expressions are actually used. | ||
2. Make sure all files actually match *one and only one* regular expression. | ||
3. Create a manifest file containing the actual files on disk matched and | ||
the archive file they map to. This is one and the same as the | ||
"Missing File Cache" described above. | ||
4. Make sure that all archive file sizes are less than a user-defined limit | ||
(default 1 TB), configurable on the command-line. | ||
|
||
HPSSPy Library | ||
++++++++++++++ | ||
|
||
For programmatic access to HPSS, the :doc:`HPSSPy library <api>` provides | ||
equvalents of :mod:`os` and :mod:`os.path` that operate on the HPSS filesystem. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters