Hello all, I am trying to take a file of variable length on a daily basis and divide it up into 4 equal parts for processing on each file. Does someone have an easy way to do this?
The original file is just a series of numbers like.. 3233404936 3233404934 3233669122 3233557761 3233818369 3234343425 3233431553 3233455617 3233404932 3233435393 3233562369 3233554689 .... I've tried everything I know. Granted, that isn't very much. :-) Here is what I'm doing so far.. Thanks, Johnny Hall
#!/bin/perl -w # Script for cloning Unix hosts weekly. # This is ran from cron on Saturdays at 9am # This will get Full savesets for all servers in the /root/backups/ux_serverlist file $SSID_LIST = "/tmp/ux_clonelist"; @CLONE_LIST = `cat /root/backups/ux_serverlist`; system "rm $SSID_LIST"; foreach $CLONE_HOST (@CLONE_LIST) { chomp $CLONE_HOST; system "/usr/sbin/mminfo -q level=full,client=$CLONE_HOST -r 'ssid' -t 'one week ago' >> $SSID_LIST"; } # Attempt to break the /tmp/ux_clonelist file into equal parts for multiple cloning streams $NUM_SSID = `cat '$SSID_LIST' | wc -l`; chomp $NUM_SSID; $NUM_CON_JOBS = 4; $SSID_PER_FILE = int(($NUM_SSID / $NUM_CON_JOBS) + 1); chomp $SSID_PER_FILE; $FILE_COUNT = 1; $CLONE_FILE_LIST = "$SSID_LIST.$FILE_COUNT"; @SSID_LIST_ARRAY = `cat $SSID_LIST`; system "rm $CLONE_FILE_LIST"; $SSID_COUNT = 0; $FILE_COUNT = 0; chomp $SSID_COUNT; open(FILE, ">>$CLONE_FILE_LIST"); while ($SSID_COUNT <= $SSID_PER_FILE) { foreach $SSID (@SSID_LIST_ARRAY) { while ($SSID_COUNT <= $SSID_PER_FILE) { open(FILE, ">>$CLONE_FILE_LIST"); chomp $SSID; print FILE "$SSID \n"; $SSID_COUNT = ($SSID_COUNT + 1); close FILE; } } $FILE_COUNT = ($FILE_COUNT + 1); $CLONE_FILE_LIST = "$SSID_LIST.$FILE_COUNT"; } # Now start cloning from the 4 files #system "nsrclone -v -s catlmsxi02 -b 'UX Clone' -S -f $CLONELIST"; #system "rm $CLONELIST";
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]