Manual Chapter :
Filesets
Applies To:
Show VersionsARX
- 6.3.0
This chapter contains an alphabetical list of commands for configuring a fileset, a group of files in a managed volume. You can use the commands in this chapter to create filesets based on file name, age, directory path, and various other criteria.
Use the age-fileset command to create a simplified age-based fileset for the current volume. | |
age-fileset name no age-fileset name name (1-1024 characters) is the name you choose for the fileset. | |
This command creates a fileset that is only usable in the current volume. To create a global fileset, usable from any namespace or volume, use policy-age-fileset in gbl mode. The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-ns-vol-fs-age mode, where you use several commands to define the fileset. You must use the select-files (...-fs-age) command to choose files older than (and/or newer than) 1 hour, 2 days, 20 minutes, or some other interval; this establishes the age. To determine whether the age is based on the last time the files were accessed or the last time they were modified, use the last command. An age fileset selects its files each time a rule uses it. The rules assigned schedule controls when it uses the fileset; each time the rules schedule fires, it assesses every files age from that moment. That is, one hour old or one day old is measured at the moment that the rule runs. The schedule (gbl-ns-vol-plc) command assigns a schedule to a file-placement rule, and the schedule (gbl-ns-vol-shdwcp) command assigns one to a shadow-copy rule. | |
bstnA(gbl-ns-vol[medarcv~/rcrds])# age-fileset 24hrs | |
Use the every command to determine the how frequently the current age fileset re-selects its files. Use no every to select files only when a policy rule (such as a place-rule or a shadow-copy-rule) invokes the fileset. | |||||
every count {minutes|hours|days|weeks|months|quarters|years} count (1-2,147,483,647) is the number of minutes, hours, days, etc. between file selections. For example, every 2 minutes or every 5 minutes. minutes| ... years is a required choice. sunday| ... saturday causes the fileset select its files weekly, on the given day of the week. | |||||
This command is deprecated in favor of controlling age selection from the rules schedule. Consider instead using the schedule (gbl-ns-vol-plc) command (for a file-placement rule) or the schedule (gbl-ns-vol-shdwcp) command (for a shadow-copy rule). These assign a schedule to the rule. Every time the assigned schedule fires, the rule reassesses the age-based fileset from the scheduled time. For example, if the schedule fires on 11/12, a month-old file is one that was modified before 10/12; if the schedule fires again in 11/13, a month-old file is one that was modified before 10/13. This command creates a different schedule for file assessment. To continue the example, all month-old files may remain the ones modified before 10/12 for a long time, as determined by the algorithm described below. | |||||
If the same fileset was evaluated every 2 days, the progression would look like this:
The time of day when the files are selected is the start time for the fileset. This is either the time of day when the fileset is invoked by a rule or the fixed time/date set with the start command. The no every command resets this command and start at the same time: it makes the fileset select its files whenever a rule invokes the fileset. | |||||
bstnA(gbl-fs-age[hourOld])# every 1 hours bstnA(gbl-fs-age[sixMonths])# no every | |||||
Use the filename-fileset command to create a name-based fileset for the current namespace volume. Use the no form of the command to delete a name-based fileset. | |
filename-fileset name no filename-fileset name name (1-1024 characters) is a required name that you assign to the fileset. | |
This command creates a fileset that is only usable in the current volume. To create a global fileset, usable from any namespace or volume, use policy-filename-fileset in gbl mode. The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-ns-vol-fs-name mode where you can define the fileset by choosing file names (with name), one or more directory paths within the volume, and/or an option to match files recursively (recurse). By default, a new file-name fileset matches all files in the volumes root directory, but not below it. | |
bstnA(gbl-ns-vol[ns~/])# filename-fileset logs bstnA(gbl-ns-vol[ns~/])# no filename-fileset logs | |
Use the filesize-fileset command to create a size-based fileset for the current volume. | |
filesize-fileset name no filesize-fileset name name (1-1024 characters) is the name you choose for the fileset. | |
This command creates a fileset that is only usable in the current volume. To create a global fileset, usable from any namespace or volume, use policy-filesize-fileset in gbl mode. The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-ns-vol-fs-filesize mode, where you use the select-files (...-fs-filesize) command to choose the size range for the filesets files. | |
bstnA(gbl-ns-vol[medarcv~/rcrds])# filesize-fileset big | |
Use the from fileset command to include a component fileset into the current union or intersection fileset. Use the no from command to remove a component fileset from the current fileset. | |
[no] from fileset fileset-name fileset-name (1-1024 characters) is the name of an existing source fileset. all (optional) removes all source filesets from the union or intersection fileset. | |
The no from all command removes all source filesets at once. | |
bstnA(gbl-fs-union[bulky])# from fileset fm_pdf bstnA(gbl-fs-union[bulky])# from fileset veryLarge | |
Use the intersection-fileset command to create an intersection fileset in the current namespace volume. An intersection fileset contains all files that are common to all of its source filesets. Use the no form of the command to delete the intersection fileset. | |
intersection-fileset name name (1-1024 characters) is the name you choose for the fileset. | |
This command creates a fileset that is only usable in the current volume. To create a global-intersection fileset, usable from any namespace or volume, use policy-intersection-fileset in gbl mode. The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) | |
bstnA(gbl-ns-vol[ns~/vol])# intersection-fileset xmlViaFtp bstnA(gbl-ns-vol[archives~/etc])# no intersection-fileset isectTst | |
Use the last command to set the type of timestamp to use for age-based grouping: last-accessed time or last-modified time. | |
accessed | modified is a required choice: accessed is the last-accessed (read) time. modified is the last-modified (written) time. | |
bstnA(gbl-ns-vol-fs-age[ns~/vol~weeklyHttpLogs])# last accessed | |
Use the name command to select a file name or names for the current name-based fileset. Use no name to erase the selection, thereby matching any file name. | |
name exact [not] file-name [ignore-case] name match [not] wild-card-string [ignore-case] name regexp [not] regular-expression [ignore-case] not (optional) negates the match; this causes the fileset to include all files in the filesets path except any files that match. exact file-name (1-1024 characters) is an exact file name to match. ignore-case (optional) tells the rule to match files without paying attention to case (for example, name exact index.html ignore-case matches index.html and Index.HTML). match wild-card-string (1-1024 characters) uses a wild-card pattern to match multiple file names. See the Guidelines below for your wildcard options. regexp regular-expression (1-1024 characters) uses a more-complex match pattern, based on the ICU standard for regular expressions. This also requires the quotation marks. See the Guidelines below for regular-expression syntax. | |
You can use the path command (for example, path exact /var/log) to select a particular directory. You can optionally use the recurse to descend from a path into its subdirectories. | |
The wild-card-string uses the following Unix-like shell conventions: * is any string of 0 (zero) or more characters, including an empty string. ? is any single character, or no character. [...] matches any one of the enclosed characters. For example, [xyz] matches x, y, or z. [a-z] matches any character in the sorted range, a through z. [^...] or [!...] matches any character that is not enclosed. For example, [!xyz] matches any character except x, y, or z. | |
The regular-expression syntax follows IBMs ICU conventions. You can use this expression to be extremely specific about your match criteria. At a high level, these are the conventions for ICU regular expressions: .* matches any string, including the null string. .? matches any single character, or no character. [...] matches any one of the enclosed characters. [a-z] matches any character in the sorted range, a through z. [^...] matches any character that is not enclosed. \d matches any digit, 1-9. \s matches any white-space character. \ matches the next character, even if that character is a special character (for example, \? is a literal ?; it is not interpreted). ^... and ...$ match the beginnings and ends of lines, respectively. For more details, refer to Regular Expression Syntax of the ARX® CLI Storage-Management Guide. Also, you can search the World-Wide Web for instructions on ICU regular expressions. | |
bstnA(gbl-fs-name[xmlFiles])# name match *.xml* bstnA(gbl-fs-name[xmlFiles])# name regexp \.xml$ bstnA(gbl-fs-name[noHTML])# name match not .htm? matches all files except those with .htm or .htmx (where x could be any single character) in their names. bstnA(gbl-fs-name[httpLogs])# no name | |
Some back-end CIFS servers use Hierarchical Storage Management (HSM) systems to archive file data on a remote server. A small portion of the file remains on the CIFS server while the bulk of the file is stored remotely. The small, local file has an offline attribute set. Whenever a client (such as the ARX) accesses the file, the HSM restores the full file contents to the CIFS server. A large-scale file migration could restore a large number of offline files all at once, possibly enough to run out of disk space on the back-end CIFS server. You can use the offline command to choose files based on the setting for their offline attribute. You can then exclude files with a raised offline attribute from a place-rule migration. | |
set | not-set | ignore is a required choice: set indicates that files in this fileset are all offline. We do not generally recommend migrating files (see place-rule) with the offline attribute set. The files behavior is dependent on the back-end file server and the HSM; they may or may not restore the full file first. Additionally, assuming that the migration causes the file to be restored first, the change in the file may trigger a higher-priority rule and cancel the migration. not-set matches only files that are online. ignore matches all files, no matter how the offline attribute is set. no offline is equivalent to offline ignore. | |
The offline attribute indicates whether or not the file has the bulk of its data stored on a remote server. Use this command in a policy-cifs-attributes-fileset to select all files in a volume based on this attribute setting. | |
bstnA(gbl-fs-cifs-attr[online])# offline not-set | |
Use the path command to choose one or more directories for the current named-based fileset. Use no path to revert to the default path. | |
path exact [not] dir-path [ignore-case] path match [not] wild-card-string [ignore-case] path regexp [not] regular-expression [ignore-case] not (optional) negates the match; this causes the fileset to search all paths in the volume except any paths that match. dir-path (1-1024 characters) is an exact path to match. ignore-case (optional) tells the rule to match paths without paying attention to case (for example, path exact /src ignore-case matches /src and /SRC). match wild-card-string (1-1024 characters) uses wild cards to match multiple paths. See the Guidelines below for your wildcard options. regexp regular-expression (1-1024 characters) uses a more-complex match pattern, based on the ICU standard for regular expressions. This also requires the quotation marks. See the Guidelines below for regular-expression syntax. | |
This command specifies one or more directories for a name-based fileset. Only files in these directories are eligible for inclusion in this fileset. Use the name command to choose the files themselves. By default, this does not recurse; use the recurse command to include all matching subdirectories in the fileset, too. Note that the match and regexp options often create a recursive effect: for example, the path match /var/* command matches /var/, /var/log/, /var/log/httpd/, /var/www/, and any other subdirectory under /var/. The path exact dir-path syntax identifies a single directory, and does not require a full volume scan. All other options (including not and ignore-case) may match multiple directories, so they require more time for a full scan. | |
The wild-card-string uses the following Unix-like shell conventions: * is any string of 0 (zero) or more characters, including an empty string. ? is any single character. | |
Note: The * and the ? match any character, including a / (the Unix delimiter for directories). Therefore, path match /home/*/bin matches /home/juser/bin/ as well as /home/jrandom/misc/bin/. | |
[...] matches any one of the enclosed characters. For example, [xyz] matches x, y, or z. [a-z] matches any character in the sorted range, a through z. [^...] or [!...] matches any character that is not enclosed. For example, [!xyz] matches any character except x, y, or z. | |
The regular-expression syntax follows IBMs ICU conventions. You can use this expression to be extremely specific about your match criteria. At a high level, these are the conventions for ICU regular expressions: .* matches any string, including the null string. .? matches any single character. [...] matches any one of the enclosed characters. [a-z] matches any character in the sorted range, a through z. [^...] matches any character that is not enclosed. \d matches any digit, 1-9. \s matches any white-space character. \ matches the next character, even if that character is a special character (for example, \? is a literal ?; it is not interpreted). ^... and ...$ match the beginnings and ends of lines, respectively. For more details, refer to Regular Expression Syntax of the ARX® CLI Storage-Management Guide. Also, you can search the World-Wide Web for instructions on ICU regular expressions. | |
bstnA(gbl-ns-vol-fs-name[ns~/vol~logs])# path exact /var/http/log bstnA(gbl-fs-name[httpLogs])# path match /log ignore-case bstnA(gbl-fs-name[noHid])# path regexp not /\.[^\.] bstnA(gbl-fs-name[xslfiles])# no path | |
Use the policy-age-fileset command to create an age-based fileset for any volume. | |
policy-age-fileset name name (1-1024 characters) is the name you choose for the fileset. | |
The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-fs-age mode, where you use several commands to define the fileset. You must use the select-files (...-fs-age) command to choose files older than (and/or newer than) 1 hour, 2 days, 20 minutes, or some other interval; this establishes the age. To determine whether the age is based on the last time the files were accessed or the last time they were modified, use the last command. An age fileset selects its files each time a rule uses it; you can alter this by setting a regular schedule for file selection. The optional every (...-fs-age) command sets the frequency of these file selections; by the time a rule invokes the fileset, its files are already selected based on an earlier, scheduled time. You can use the start command to set a start date (and time) for this fixed schedule (for example, start the every 10 minutes schedule at noon on January 1st). These commands are deprecated, however, in favor of letting the rules schedule determine file-selection schedule. | |
bstnA(gbl)# policy-age-fileset weekOld bstnA(gbl)# no policy-age-fileset lastMonth bstnA(gbl)# ... | |
Use the policy-cifs-attributes-fileset command to create a fileset based on CIFS attributes. Some CIFS attributes can be important for file migrations, such as the offline attribute. The offline attribute indicates that the files full content is on a remote server, and would need to be fully restored before accessing it for migration. You can use this fileset to select files with particular CIFS attributes and carefully manage their migration. | |||
name (1-1024 characters) is the name you choose for the fileset. | |||
The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-fs-cifs-attr mode, where you use the offline command to choose files based on the setting for their CIFS offline attribute. You can combine this fileset with others using policy-union-fileset and policy-intersection-fileset. For example, to select all files with the offline attribute unset and in a particular directory, you can
| |||
The policy engine only finds the offline-file attribute during a scheduled scan of the volumes back-end filers. There are no inline (client-driven) events that indicate that the attribute changed. Therefore, any place-rule that uses this fileset only assesses the attribute once unless it has a schedule (gbl-ns-vol-plc). | |||
bstnA(gbl)# policy-cifs-attributes-fileset online bstnA(gbl)# no policy-filesize-fileset offline_not_set bstnA(gbl)# ... | |||
Use the policy-filename-fileset command to create a name-based fileset for any volume. Use the no form of the command to delete a name-based fileset. | |
name (1-1024 characters) is a required name that you assign to the fileset. | |
The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This command places you in gbl-fs-name mode where you can define the fileset by choosing file names (with name), one or more directory paths within the volume, and/or an option to descend into matching directories recursively (recurse). By default, a new file-name fileset matches all files in the volumes root directory, but not below it. | |
bstnA(gbl)# policy-filename-fileset logs bstnA(gbl)# no policy-filename-fileset logs | |
Use the policy-filesize-fileset command to create a size-based fileset for any volume. | |
name (1-1024 characters) is the name you choose for the fileset. | |
The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-fs-filesize mode, where you use the select-files (...-fs-filesize) command to choose files larger-than (and/or smaller-than) a size of your choosing. | |
bstnA(gbl)# policy-filesize-fileset midsize bstnA(gbl)# no policy-filesize-fileset 1_to_4_gig bstnA(gbl)# ... | |
Use the policy-intersection-fileset command to create an intersection fileset. An intersection fileset contains all files that are common to all of its source filesets. Use the no form of the command to delete the intersection fileset. | |
name (1-1024 characters) is the name you choose for the fileset. | |
The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) An intersection fileset contains files that are common to two or more source filesets. This command places you in gbl-fs-isect mode; from there, use the from fileset (gbl-...-fs-...) command to identify each source fileset. | |
bstnA(gbl)# policy-intersection-fileset xmlViaFtp bstnA(gbl)# no policy-intersection-fileset isectTst | |
Use the policy-union-fileset command to create a union fileset. A union fileset is the union of two or more component filesets. Use the no form of the command to remove the union fileset. | |
policy-union-fileset name name (1-1024 characters) is the name you choose for the fileset. | |
The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-fs-union mode; from there, use the from fileset (gbl-...-fs-...) command to identify each source fileset. | |
bstnA(gbl)# policy-union-fileset allLogs | |
Use the recurse command to include all subdirectories in the current file-name fileset. Use no recurse to include only files in the top directory. | |
Use this command to set or unset recursion. If recursion is set, the file-name fileset selects directories and/or files below the root directory. The path command chooses directory paths, and the name command chooses files. If you use recurse in a fileset without any path or name specification, this selects all files in the volume. | |
bstnA(gbl-fs-name[logs])# recurse | |
A size-based fileset chooses a group of files based on their sizes. Use the select-files command to choose the sizes for the current fileset. | |
select-files {larger-than-or-equal-to | smaller-than} size[k|M|G|T] larger-than-or-equal-to | smaller-than is a required choice. This determines whether the selected files are larger or smaller than the size that follows. size is the size in bytes, KiloBytes, MegaBytes, or whatever units you specify (see below). k|M|G|T (optional) specifies units; k for KiloBytes (1024 bytes), M for MegaBytes (1024*1024 bytes), G for GigaBytes (1024*1024*1024), and T for TeraBytes (1024*1024*1024*1024). Do not put any space between the size number and this unit (for example, 100k is valid but 100 k is not). The default is bytes. | |
The select-files command is the only required step in configuring a size-based fileset. You can use this command twice to define a size range (for example, to select files larger than 50 MegaBytes but smaller than 1 Gigabyte). The CLI rejects a select-files command that contradicts an existing select-files command: you cannot select files smaller-than 1 MegaByte if you have already selected files larger-than or equal-to 2 GigaBytes. | |
bstnA(gbl-ns-vol-fs-filesize[midsize])# select-files larger-than-or-equal-to 20M bstnA(gbl-ns-vol-fs-filesize[midsize])# select-files smaller-than 50M | |
select-files {older-than | newer-than} interval {minutes | hours | days | weeks | months | quarters | years} older-than | newer-than is a required choice. This determines whether the selected files are older or newer than the time interval that follows. interval (1-2,147,483,647) is the number of minutes, hours, days, etc., that selected files are older than or newer than. minutes | ... years is a required choice. | |
The select-files command is the only required step in configuring an age-based fileset. Without any selection criteria, the fileset includes all files. You can use this command twice to define an age range (for example, to select files older than 1 week but newer than 1 year). The CLI rejects a select-files command that contradicts an existing select-files command: you cannot select files newer than 6 hours if you have already selected files older than 3 weeks. Each file has two time stamps: last-accessed time and last-modified time. This command measures against the time stamp selected with the last command. By default, this selects from every file in the current managed volume. To limit the files to those in some other fileset (for example, to choose only from a filename-fileset containing .wmv files), use the from fileset (gbl-...-fs-...) command. By default, the policy engine runs this file selection whenever it is invoked by another rule (such as a place-rule or a shadow-copy-rule). For example, if the fileset is composed of files newer than 1 month and a file-placement rule uses it on September 30, it includes all files modified since August 31. If the file-placement rule runs again on October 5, the fileset re-selects its files: at this point, it holds all files modified since September 5, 1 month before October 5. You can use the every (...-fs-age) command to make the file re-selections happen at a fixed rate (for example, every 2 days). | |
bstnA(gbl-ns-vol-fs-age[ns~/vol~24hrs])# select-files older-than 24 hours | |
Use the show policy filesets command to view fileset configurations. | |
show policy filesets global-fileset fileset-name global-fileset fileset-name (optional, 1-1024 characters) focuses the command on a single, global fileset. namespace (1-30 characters) is the filesets namespace, volume (1-1024 characters) is the filesets volume path, and fileset-name (1-1024 characters) is the fileset.. | |
If you do not enter a specific fileset, this command displays all filesets. The globally-defined filesets appear first, followed by a section for each namespace and volume. Each volume-level fileset (such as a age-fileset) appears with its volume. For each fileset, a single Configuration table shows all of the administratively-set parameters for the fileset. You can create or edit each fileset type with a separate command: | |
bstnA# show policy filesets shows all filesets. See Figure 26.1 for sample output. bstnA# show policy filesets global-fileset veryLarge shows one globally-defined fileset, veryLarge. See Figure 26.2 on page 26-31 for sample output. bstnA# show policy filesets namespace insur volume /claims fileset images | |
Figure 26.1 Sample Output: show policy filesets
bstnA# show policy filesets
bstnA# show policy filesets global-fileset veryLarge
For age-based filesets, use the start command to set a start time for grouping files. Use no start to select files each time a rule uses the fileset. | |
mm/dd/yyyy sets a start date (for example, date 05/25/2003). HH:MM:SS sets a start time (for example, 06:00:00). | |
This command is deprecated in favor of controlling age selection from the rules schedule. Consider instead using the schedule (gbl-ns-vol-plc) command (for a file-placement rule) or the schedule (gbl-ns-vol-shdwcp) command (for a shadow-copy rule). These assign a start time and a schedule to the rule. In most-all cases, it is more intuitive to let the rules schedule determine start times and file selections. | |
This command sets a starting point for all age-based calculations. For example, if you have a fileset that re-evaluates every 7 days, this determines the starting point and the time of day for each evaluation (Mondays at 2AM, Fridays at 5PM, or some other day and time). | |
bstnA(gbl-fs-age[monthOld])# start 05/06/2003:23:00:00 | |
Use the union-fileset command to create a union fileset in the current namespace volume. A union fileset is the union of two or more component filesets. Use the no form of the command to remove the union fileset. | |
union-fileset name no union-fileset name name (1-1024 characters) is the name you choose for the fileset. | |
This command creates a fileset that is only usable in the current volume. To create a global-union fileset, usable from any namespace or volume, use policy-union-fileset in gbl mode. The CLI prompts for confirmation before creating a new fileset; enter yes to continue. (You can use terminal expert to eliminate confirmation prompts for creating new policy objects.) This places you in gbl-ns-vol-fs-union mode; from there, use the from fileset (gbl-...-fs-...) command to identify each source fileset. | |
bstnA(gbl-ns-vol[ns~/vol])# union-fileset allLogs | |