rdist help 'parameter list too long'

I am trying to use the rdis command to keep a DR server in sync with our production server. My problem is that one of my directories has over 8 thousand files in it (and growing buy 300 per month) and when I execute it, it complains about 'parameter list too long'. All of the files in the directory are in the format of 6 digit file names (ie.. 123456, 123457, 123450) . I have even tried wildcarding them (ie.. 1*, 2*,etc..) so that the shell expansion isn't so large all to no avail. Do you guys know a way around this?

You should reorganize things so that your directory isn't that large.

But a quick fix...use smarter wildcards. Instead of
1*
use
10* 11* 12* 13* 14* 15* 16* 17* 18* 19*
but not all at the same time. If that doesn't work, break each of those into 10 more.

Have a look at the xargs command.

NAME
xargs - construct argument list(s) and execute command
DESCRIPTION
xargs combines the fixed initial-arguments with arguments read from standard input to execute the specified command one or more times.

The find command might be useful here.

You should definitely split these files into sub-directories.

'Parameter list too long' is just the tip of the iceberg.

If you can't identify specific files how will you manage clear downs? Or backups? The rm command will have the same problem as rdis. I know disks are pretty big these days, but they are not limitless either. Once a system has run out of disk space it can be very hard to support and very costly in terms of time. Not to mention any OS constraints e.g. number of files.

If you don't split this directory up, I am concerned that you are going to have a much harder problem to solve soon.

:confused:

I have the same problem when I use the ls command, and
I know what I need to do to have the same output using another command, like find, but I would like to know if someone knows the limit of ls command.

How much files we can list with ls command !??

Ps.: I have problema with ls and chmod !!!

Thx,
Witt

Hello,

Use the following to do an ls -l of /directory/to/list if it contains too many files.....
find /directory/to/list -exec ls -l {} \;

Also, use xargs to pass the output of find to other commands. For example, tar has an argument list length limit imposed, so to tar up a LOAD of files do
find /directory/to/archive -print | xargs tar cvf - > outfile.tar

The same principles can be applied to other commands.

Read the manual pages.
man find then /exec
man xargs