Sponsored Content
Full Discussion: GNUTAR exclude directories
Top Forums UNIX for Advanced & Expert Users GNUTAR exclude directories Post 35560 by Perderabo on Thursday 17th of April 2003 11:44:19 AM
Old 04-17-2003
We seem to have several problems here....

xargs collects as many arguments as will fit on a line and then invokes the given program. A find command might find 1000's of files. So rather than, say, doing an "rm" 1000's of times, it better to use xargs. Then you may only use a few dozen rm commands, each one having a full argument list.

But this doesn't extend to "tar cvf /some/file". If you have too many arguments for one command line, you will get two command lines. The second "tar cvf /some/file" will overwrite the contents of the first. If you are not encountering this problem, you must not have very many files.

Next, when you ask tar to backup a directory, it will backup the contents of the directory as well.
So:
tar cvf /tmp/data.tar /appl/data /appl/data/somefile
is not going to backup one directory and one file. That "/appl/data" will cause tar to pick up the whole thing. The /appl/data/somefile will put a second copy of somefile in the archive. Your find command will output /appl/data as its first line. That already gets you everything.

And none of this has anything at all to do with exclude files which is where the thread started.

What you're supposed to do is to create a file and put the stuff in it that you want to exclude. So, for example, edit the file /tmp/ExcludeFile and put in the following two lines:
/appl/data/temp1
/appl/data/temp2
Then use the command:
tar cvfX /tmp/datadir.tar /tmp/ExcludeFile /appl/data
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

find command to exclude directories

Howdy I have this directory structure ... eep eepaptest eepfatest eepgltest eep.old eeppoptest ehf ehfaptest ehfgltest ehp ehpgltest I want to find files in these directories, but I want to exclude eep, ehf & ehp. Cany anyone help with the correct command ?? (1 Reply)
Discussion started by: SmurfGGM
1 Replies

2. Shell Programming and Scripting

Find but exclude directories

Hello, I have a line in my script to find the files changed in the last 24 hours. It is as below: find /home/hary -type f -mtime -1 I now want to exclude a directory named "/home/hary/temp/cache" from the above find command. How do I add it to my script? Any help is appreciated. ... (9 Replies)
Discussion started by: tadi18
9 Replies

3. UNIX for Dummies Questions & Answers

How to Exclude multiple directories from find command?

Hi, Can some one help me how to exclude multiple directories using find command.. I have the directory structure below. /a/a1/b1 /a/c1/c2 /a/d1/d2/d3 I want to exlcude a1,c2and d3 from the above using find,can some one suggest pls.. thanks in advance... Use code tags... (1 Reply)
Discussion started by: jagadish_gaddam
1 Replies

4. Shell Programming and Scripting

Help - Find command to exclude sub-directories

Hi Forum. I'm trying to write a script that finds and deletes files that are older than 300 days. The script will read a table that contains the following 3 columns: 1st col: “Y” means sub-directory scan; "N" means no subdirectory scan 2nd col: sub-directory location 3rd col: File prefix... (7 Replies)
Discussion started by: pchang
7 Replies

5. Shell Programming and Scripting

How to exclude the empty directories

Hi., I have a script, in which I am processing a files present in the directory types. ls -lrt | grep ^d | grep Dir_type | awk -f '{print $9}' |\ while read dir_name; do #operations done where Dir_type is the pattern in which directories get created. How to filter out empty... (2 Replies)
Discussion started by: IND123
2 Replies

6. Shell Programming and Scripting

Perl exclude directories in command line

Hi, I use find command to list all the files in a directory and its sub-directories, but the problem is to exclude certain directories during search. Can i give the directory names in command line to skip them and search rest of the directories? For example i have directories: test ../test1... (1 Reply)
Discussion started by: nmattam
1 Replies

7. Shell Programming and Scripting

Global Pattern - exclude directories

All, I am trying delete folder by adding pattern not to delete certain folders. But i struck with error. When i use below command from command line, it works fine. shopt -s extglob rm -rf !(test1|test2|test3) But when i use the same in shell script, i get the below error. syntax... (6 Replies)
Discussion started by: vino_hymi
6 Replies

8. AIX

Exclude Directories in my tar command

Hi, im having some issues after i execute the next command: tar -cvf /varios/restore/test.tar -X /jfma/test1/excludefile /jfma | gzip -c > /varios/restore/test.tar.gz this creates the desired "test.tar.gz" file, but whe i try to open it it says "tar: 0511-164 There is a media read or write... (6 Replies)
Discussion started by: blacksteel1988
6 Replies

9. Shell Programming and Scripting

Exclude directories in FIND command

Can you please help tweak the below command to exclude all directories with the name "logs" and "tmp" find . -type f \( ! -name "*.tar*" ! -name "*.bkp*" \) -exec /usr/xpg4/bin/grep -i "user_1" /dev/null {} + >result.out bash-3.2$ uname -a SunOS mymac 5.10 Generic_150400-26 sun4v sparc sun4v... (9 Replies)
Discussion started by: mohtashims
9 Replies
AMGTAR(8)						  System Administration Commands						 AMGTAR(8)

NAME
amgtar - Amanda Application to interface with GNU Tar DESCRIPTION
Amgtar is an Amanda Application API script. It should not be run by users directly. It uses GNU Tar to backup and restore data. The diskdevice in the disklist (DLE) must be the directory to backup. PROPERTIES
This section lists the properties that control amgtar's functionality. See amanda-applications(7) for information on application properties and how they are configured. ATIME-PRESERVE If "YES" (the default), amgtar use the --atime-preserve=system option of gnutar to not update the atime of all files accessed; if "NO", gnutar will updates the atime for all files accessed. This property works only if you have gnutar 1.15.90 or newer, if not, you must set ATIME_PRESERVE to "NO". CHECK-DEVICE If "YES" (the default), amgtar checks that the device number doesn't change for each file. If "NO", changes in device number are ignored. To ignore device numbers, tar must support the --no-check-device option (gnutar 1.19.90 and newer). This option is needed for some filesystems and devices on which device numbers change frequently, such as LVM or FiberChannel. COMMAND-OPTIONS If set, theses options are passed asis to gtar. Each option must be a different value of the property. Some option can break how amanda do backup, use it with care. Use: property "COMMAND-OPTIONS" "--foo" "bar" Do not use: property "COMMAND-OPTIONS" "--foo bar" DIRECTORY If set, gnutar will backup from that directory instead of the diskdevice set by the DLE. On restore, the data is restore in that directory instead of the current working directory. GNUTAR-LISTDIR The directory where gnutar stores the database it uses to generate incremental dumps. The default is set when Amanda is built. GNUTAR-PATH The path to the gnutar binary. The default is set when Amanda is built. INCLUDE-LIST-GLOB A filename containing include glob expression for the restore command. EXCLUDE-LIST-GLOB A filename containing exclude glob expression for the restore command. ONE-FILE-SYSTEM If "YES" (the default), do not allow gnutar to cross filesystem boundaries. If "NO", gnutar will cross filesystem boundaries. This corresponds to the --one-filesystem option of gnutar. TAR-BLOCKSIZE Block size of Nx512 bytes (default N=20). This corresponds to the --blocking-factor option of gnutar. SPARSE If "YES" (the default), gnutar will store sparse files efficiently. If "NO", then the --sparse option is not given to gnutar, and it will not try to detect sparse files. NO-UNQUOTE If "NO" (the default), gnutar doesn't get the --no-unquote option and the diskname can't have some characters, eg. ''. If "YES", then the --no-unquote option is given to gnutar and the diskname can have any characters. This option is available only if you are using tar-1.16 or newer. ACLS Default "NO". If "YES", gnutar will preserve ACL extended attributes. This corresponds to the --acls gnutar option. Requires a GNU Tar with nonstandard extended attribute patches from the Fedora Project. SELINUX Default "NO". If "YES", gnutar will preserve SELinux extended attributes on Linux. This corresponds to the --selinux gnutar option. Requires a GNU Tar with nonstandard extended attribute patches from the Fedora Project. XATTRS Default "NO". If "YES", gnutar will preserve all extended attributes. This corresponds to the --xattrs gnutar option. If enabled, this option also implies the ACLS and SELINUX properties, regardless of their settings, as they are implemented as extended attributes. Requires a GNU Tar with nonstandard extended attribute patches from the Fedora Project. EXIT-HANDLING List which exit status of gtar are good or bad. eg. "1=GOOD 2=BAD", exit status of 1 will produce a good backup, exit status of 2 will give an error. NORMAL List all regex (POSIX Extended Regular Expression syntax) that are normal output from gtar. These output are in the "FAILED DUMP DETAILS" section of the email report if the dump result is STRANGE or FAILED. Default values: "^could not open conf file" "^Elapsed time:" "^Throughput" ": socket ignored$" ": File .* shrunk by [0-9][0-9]* bytes, padding with zeros" ": Cannot add file .*: No such file or directory$" ": Error exit delayed from previous errors" To treat one of these default patterns differently, specify it explicitly in a different property. IGNORE List all regex (POSIX Extended Regular Expression syntax) that amanda ignore. These output are never in the email report. Default values: ": Directory is new$" ": Directory has been renamed" To treat one of these default patterns differently, specify it explicitly in a different property. STRANGE List all regex (POSIX Extended Regular Expression syntax) that are strange output from gtar. All gtar output that doesn't match a normal or ignore regex are strange by default. The result of the dump is STRANGE if gtar produce a strange output. These output are in the "FAILED DUMP DETAILS" section of the email report. VERBOSE Default: "NO". If "YES", amgtar print more verbose debugging message and can leave temporary files in AMANDA_TMPDIR. INCLUDE AND EXCLUDE LISTS
This application supplies exclude lists via the GNU-tar --exclude-from option. This option accepts normal shell-style wildcard expressions, using * to match any number of characters and ? to match a single character. Character classes are represented with [..], which will match any of the characters in the brackets. Expressions can be "anchored" to the base directory of the DLE by prefixing them with "./". Without this prefix, they will match at any directory level. Expressions that begin or end with a "/" will not match anything: to completely exclude a directory, do not include the trailing slash. Example expressions: ./temp-files # exclude top-level directory entirely ./temp-files/ # BAD: does nothing /temp-files # BAD: does nothing ./temp-files/* # exclude directory contents; include directory temp-files # exclude anything named "temp-files" generated-* # exclude anything beginning with "generated-" *.iso # exclude ISO files proxy/local/cache # exclude "cache" in dir "local" in "proxy" Similarly, include expressions are supplied to GNU-tar's --files-from option. This option ordinarily does not accept any sort of wildcards, but amgtar "manually" applies glob pattern matching to include expressions with only one slash. The expressions must still begin with "./", so this effectively only allows expressions like "./[abc]*" or "./*.txt". EXAMPLE
define application-tool app_amgtar { plugin "amgtar" property "ATIME-PRESERVE" "NO" property "CHECK-DEVICE" "YES" property "GNUTAR-LISTDIR" "/path/to/listdir" property "GNUTAR-PATH" "/bin/tar" property "ONE-FILE-SYSTEM" "YES" property "TAR-BLOCKSIZE" "20" property "SPARSE" "YES" property "ACLS" "NO" property "SELINUX" "NO" property "XATTRS" "NO" property "EXIT-HANDLING" "1=GOOD 2=BAD" # change a default NORMAL regex to a STRANGE regex. property "STRANGE" ": socket ignored$" # add three new IGNORE regex property "IGNORE" ": Directory is new$" property append "IGNORE" ": Directory has been renamed" property append "IGNORE" "file changed as we read it$" } A dumptype using this application might look like: define dumptype amgtar_app_dtyp { global program "APPLICATION" application "app_amgtar" } Note that the program parameter must be set to "APPLCIATION" to use the application parameter. SEE ALSO
amanda(8), tar(1), amanda.conf(5), amanda-applications(7) The Amanda Wiki: : http://wiki.zmanda.com/ AUTHORS
Jean-Louis Martineau <martineau@zmanda.com> Zmanda, Inc. (http://www.zmanda.com) Dustin J. Mitchell <dustin@zmanda.com> Zmanda, Inc. (http://www.zmanda.com) Amanda 3.3.1 02/21/2012 AMGTAR(8)
All times are GMT -4. The time now is 05:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy