- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Never ending ZIP process ...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-02-2007 09:15 PM
тАО10-02-2007 09:15 PM
Re: Never ending ZIP process ...
I met a situation not unlike yours, albeit a little bit smaller.
_DO_ consider Heins SEARCHLIST solution!
And Wim wrote
>>>
This will of course not solve your problem now because tou already are stuck with the big directory.
<<<
Well, that is true, but not completely.
You _CAN_ migrate to an easier structure, but getting there in a more or less system-friendly way DOES require some extra human effort.
- decide what is a "reasonable" quantity of files per directory. (one day, one week, one month?)
- decide which of those units is already completed, and has its files furthest down in the directory file.
- create a suitably named subdirectory for those, and add it in the logical name search list (of course, the active directory goes first).
- rename the applicable files to the subdir. It will not be fast, but A LOT faster than renaming the top ones!
- repeat until all files moved.
(you may well prefer scripting the above!)
- create a temporary directory for the active (new) files
- rename everything still in the old dir to the new one.
- delete the (now empty) _BIG_ directory file.
It is a pain, but worth the effort.
And now, educate the app developpers (if they still can be traced) about their sillyness.
success.
Proost.
Have one on me.
jpe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-03-2007 03:23 AM
тАО10-03-2007 03:23 AM
Re: Never ending ZIP process ...
Jon had a question earlier what files the job had open ... as it grinds away right now, it has only the list file open specified by the /batch switch (see attached).
Previous experience with these large ZIP jobs is they don't open the temporary zip file (which gets renamed to the final zip file) until it's "processed" the selection of files. Whatever "processed" entails.
Art
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-03-2007 05:13 AM
тАО10-03-2007 05:13 AM
Re: Never ending ZIP process ...
Channel Window Status Device/file accessed
------- ------ ------ --------------------
00D0 00000000 Busy $1$DGA79:
SDA>
That may be activity verifying that the files exist before starting the actual zipping. I don't know enought about the internal format of the zip container layout, perhaps it is similar to a CD in that it may need to create or at least preallocate space for the directory before it adds anything to the zip file.
Steven S. will know.
If it really needs to preallocate table of contents space, then I wonder how it handles a file being deleted between the initial scan and the archival of the file.
Seems odd it would need to scan the whole list if it is explicitly provided.
Jon
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-03-2007 10:56 AM
тАО10-03-2007 10:56 AM
Solution> jobs is they don't open the temporary zip
> file (which gets renamed to the final zip
> file) until it's "processed" the selection
> of files. Whatever "processed" entails.
Sounds right to me.
> Steven S. will know.
Now _there's_ an optimist.
I believe (glancing at code I normally
ignore) that Zip runs through the whole file
list beofre it does any serious work, looking
for names to be filtered out by the include
and exclude or date-time options, duplicate
names (easy with /NOFULLPATH, -j), the name
of the archive itself, and so on, creating a
big to-do (linked) list as it goes, including
the actual file specs and the names to be
used in the archive (which may be different),
and some other data which will be stored in
the archive for each file.
> [..] I wonder how it handles a file being
> deleted between the initial scan and the
> archival of the file.
I've never tried it. I assume that you get a
complaint.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2007 01:55 AM
тАО10-04-2007 01:55 AM
Re: Never ending ZIP process ...
- Don't let 250,000 files accumulate in a directory ;-)
- Use ZIP_CLI for more "familiar" DCL like qualifiers
- If you do, move the files you want to ZIP to a temporary location ie. don't try to ZIP in the directory containing 250,000 files
- Create a list of files you want to ZIP. Use it by supplying the /BATCH=listfile.txt qualifier.
- Use the /MOVE qualifier to automatically delete the files from disk after they have been added to the archive
- Have patience! It takes a lot of time!
Thanks all, I will take the help provided and try to set things up a little smarter for the future.
Cheers,
Art
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2007 02:07 AM
тАО10-04-2007 02:07 AM
Re: Never ending ZIP process ...
> Use it by supplying the /BATCH=listfile.txt
> qualifier.
Is that really faster than an equivalent
wildcard, or were you just looking for
finer-grained control over the list?
> - Use the /MOVE qualifier to automatically
> delete the files from disk after they have
> been added to the archive
Zip does try to be careful, but you have more
confidence in this stuff than I. And, I'd
expect one of the more clever DELETE schemes
to be faster at removing the files than Zip.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-04-2007 02:21 AM
тАО10-04-2007 02:21 AM
Re: Never ending ZIP process ...
WRT confidence ... ZIP/UNZIP have never let me down (on any platform)! First time for everything I guess.
Cheers,
Art
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО10-18-2007 02:02 AM
тАО10-18-2007 02:02 AM
Re: Never ending ZIP process ...
Almost right, but not taking from the end towards forwards.
Which was the whole point! Ooops
Here is the corrected example
It's just an example, with some debugging lines still there to help understand it.
Adapt to individual needs and perl quirks trying to help with files and filenames.
Or re-write to something similar in DCL.
See also c.o.v discussion: "Which delete statement is faster? Options "
http://groups.google.com/group/comp.os.vms/browse_thread/thread/cfaed0f141068b51?hl=en#
Hein.
use strict;
#use warnings;
my $HELPER = "[-.tmp_helper]";
my $TARGET = "[-.tmp_renamed]";
my $i = 0;
my @files;
$_ = shift or die "Please provid double quoted wildcard filespec";
print "wild: $_\n";
s/"//g;
my $wild = $_;
foreach (qx(DIRECTORY/COLU=1 $wild)) {
chomp;
$files[$i++] = $_ if /;/;
}
die "Please provide double quoted wildcard filespec" if @files < 2;
# phase 1
$i = @files;
print "Moving $i files to $HELPER\n";
while ($i-- > 0) {
my $name = $files[$i];
my $new = sprintf("%s%06d%s",$HELPER,999999-$i,$name);
print "$name --> $new\n";
rename $name, $new;
}
system ("DIRECTORY $HELPER");
# phase 2
print "Renaming from $HELPER to $TARGET...\n";
while ($i++ < @files) {
my $name = $files[$i];
rename sprintf("%s%06d%s",$HELPER,999999-$i,$name), $TARGET.$name;
}
Hope this help better :-)
Hein.
- « Previous
- Next »