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
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
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
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
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
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
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
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
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
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
chroot(1M) System Administration Commands chroot(1M)
NAME
chroot - change root directory for a command
SYNOPSIS
/usr/sbin/chroot newroot command
DESCRIPTION
The chroot utility causes command to be executed relative to newroot. The meaning of any initial slashes (/) in the path names is changed
to newroot for command and any of its child processes. Upon execution, the initial working directory is newroot.
Notice that redirecting the output of command to a file,
chroot newroot command >x
will create the file x relative to the original root of command, not the new one.
The new root path name is always relative to the current root. Even if a chroot is currently in effect, the newroot argument is relative to
the current root of the running process.
This command can be run only by the super-user.
RETURN VALUES
The exit status of chroot is the return value of command.
EXAMPLES
Example 1: Using the chroot Utility
The chroot utility provides an easy way to extract tar files (see tar(1)) written with absolute filenames to a different location. It is
necessary to copy the shared libraries used by tar (see ldd(1)) to the newroot filesystem.
example# mkdir /tmp/lib; cd /lib
example# cp ld.so.1 libc.so.1 libcmd.so.1 libdl.so.1 libsec.so.1 /tmp/lib
example# cp /usr/bin/tar /tmp
example# dd if=/dev/rmt/0 | chroot /tmp tar xvf -
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
cd(1), tar(1), chroot(2), ttyname(3C), attributes(5)
NOTES
Exercise extreme caution when referencing device files in the new root file system.
References by routines such as ttyname(3C) to stdin, stdout, and stderr will find that the device associated with the file descriptor is
unknown after chroot is run.
SunOS 5.10 15 Dec 2003 chroot(1M)