Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^3: File::Copy - locked files

by afoken (Monsignor)
on Feb 12, 2013 at 04:46 UTC ( #1018293=note: print w/replies, xml ) Need Help??


in reply to Re^2: File::Copy - locked files
in thread File::Copy - locked files

Recent Windows versions have a special service (Volume Shadow Service? Use Google!) for this problems, it allows you to take some kind of snapshot of the filesystem. All modifications after the snapshot do not affect your program, so you can safely copy files from a mounted filesystem. Of course, this service can't guarantee that all open files are in a consistent state.

Regarding your locked Access database: Shut down the service, then backup or make at least a copy of the database file, then restart the service and exclude the original, locked file.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^4: File::Copy - locked files
by Anonymous Monk on Feb 12, 2013 at 09:46 UTC

    Regarding your locked Access database: Shut down the service, then backup or make at least a copy of the database file, then restart the service and exclude the original, locked file.

    Seems crude :) i'll bet there is a way without shutting down the service

      i'll bet there is a way without shutting down the service

      Perhaps. I don't know. Read the Access documentation.

      You need to make sure that the database file is in a consistent state, and that this state does not change for the time the backup program processes the database file. If it is not consistent or changes while the backup program processes the file, the resulting file on the backup media is inconsistent in the best case, binary garbage in the worst case.

      A clean shutdown of the service makes sure that the database file is consistent and does not change while the backup program runs. The procedure shutdown - copy - restart - backup the copy reduces the downtime of the service to the time needed to create a consistent copy of the database file.

      "Real" database engines usually offer tools or hooks for backup purposes. Oracle has tools to create a file containing a consistent backup of a running database, MS SQL Server offers a plugin API for backup programs, as far as I remember.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1018293]
help
Chatterbox?
[ambrus]: was this bug: https://rt.cpan. org/Public/Bug/ Display.html?id= 59814
[Corion]: ambrus: Oh - that one would be much harder to automate... The SYNOPSIS section should mostly be a runnable program IMO, but I write only small snippets in my documentation for single functions/methods, and creating the appropriate environment for ...
[Corion]: ... those in an automated fashion seems somewhat hard to me. Although it should do wonders for the test coverage ;)
[haukex]: Corion: I once wrote an automated thingy for that here
[haukex]: here's the code that uses it
[Corion]: haukex: Hmm - maybe I can reuse that. I see that it uses Pod::Parser, which I think was one of the more fragile parsers. But if I'm statically (re)generating the tests instead of doing that "live" on the client/tester machines, that's a much smaller...
[Corion]: ... problem space than trying to cater to all versions of Pod::Parser(s)

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (10)
As of 2017-02-27 12:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?






    Results (385 votes). Check out past polls.