Copy Script Stops

Good Morning,

I have a copy script on Solaris 9 machine that is supposed to copy some files to a NAS using:

cp -r /dir/dir/ /dir/dir/dir

The script doesn't finish. The directory contains user files of which one seems to copy fine, a second was failing until I did a

chmod -R -777

to it. Now, the copy looks the same as far as I can tell, but the directory for the next users never get created and the script seems to stop. Any ideas why? Normally

crontab

runs this script, but I am running it manually from root right now.

This command as written

chmod -R -777

Makes every file + directory (affected by the command) unaccessable. So I do not know what you are trying to do.

Try changing the -777 to 777.

Sorry typo there was no -. When I ls -l everything looks right.

I tried

cp -r /dir/dir/dir /dir/dir/dir 2>&1 

and no error was reported but it stopped at the same user.

Firstly, it is known that:

# cp -r <whatever>

can have problems with special files (device nodes e.g. /dev/<whatever>) and also with linked files.

So does including the -v switch (verbose) tell you any more?

# cp -rv <whatever>

If no success then try -R instead.

# cp -Rv <whatever>

Read the man page for cp to see the difference.

# man cp

If that all fails, then substitute the cp for a find/cpio combination to copy your directory tree:

# cd /dir/dir/<top of tree to be copied>
# find . -depth -print|cpio -puvdm <target directory>

Note: In the above the <target directory> MUST already exist before the command is issued.

See if that does the job. Do let us all know the outcome.

Under which user account did you run the script? If it was not root this might have been the problem.

Furthermore, to copy a (sub-)tree recursively it is generally better to use tar instead of cp -r :

cd /path/to/source ; tar -cf - * | (cd /path/to/target ; tar xf -)

will copy all files and directories in /path/to/source to /path/to/target AND it will preserve all filemodes and ownership properties.

I hope this helps.

bakunin

Thanks everyone.. Its working now.

cp -R

not

cp -r

I'm not piping anything so I'm not sure why it works.. but it works.

I'll read up on tar anyway- I've never used it.