Code Monkey home page Code Monkey logo

hobocopy's Introduction

STATUS

Hobocopy is no longer under active development. As far as I know, it still works, but even I don't use it any more. Instead, I use a tool I wrote called Shadowspawn plus something like robocopy or rsync. I consider Shadowspawn the replacement for hobocopy.

You are welcome to download hobocopy and use it, and I still try to answer questions, but I won't be releasing new versions. You are welcome to fork the project - the license (MIT) is very permissive.

WHAT IS HOBOCOPY?

HoboCopy is a backup/copy tool. It is inspired by robocopy in both name and in functionality. It differs greatly from robocopy, however, in two respects:

  1. It is not as full-featured as robocopy.
  2. It uses the Volume Shadow Service (VSS) to "snapshot" the disk before copying. It then copies from the snapshot rather than the "live" disk.

INSTALLING HOBOCOPY

Most users can simply unzip the file containing hobocopy.exe into the directory of your choice. However, HoboCopy uses the Visual C++ 8.0 runtime, which may not be present on some machines. If HoboCopy does not work for you, run the vcredist executable available from the same location you downloaded HoboCopy.

WHY DOES HOBCOPY USE THE VOLUME SHADOW SERVICE?

Because HoboCopy copies from a VSS snapshot, it is able copy even files that are in locked by some other program. Further, certain programs (such as SQL Server 2005) are VSS-aware, and will write their state to disk in a consistent state before the snapshot is taken, allowing a sort of "live backup". Files locked by VSS-unaware programs will still be copied in a "crash consistent" state (i.e. whatever happens to be on the disk). This is generally a lot better than not being able to copy the file at all.

IS HOBOCOPY A BACKUP TOOL?

Well, not exactly. It can be used that way, but it doesn't do a few things that "real" backup tools to. For example, there's currently no support for differential copies. Also, it does not currently make use of the OS support for doing backups that would allow it to do things like copy even files it does not nominally have permission to copy.

The other caveat is that HoboCopy is a hobby project. Therefore, it is not recommended that anyone use it as a backup strategy for valuable information

  • no warranty is provided in the event that something goes wrong.

That said, the author of the tool uses it to back up his own systems.

USAGE:

hobocopy [/statefile=FILE] [/verbosity=LEVEL] [ /full | /incremental ]
         [ /clear ] [ /skipdenied ] [ /y ] [ /simulate ] [/recursive]
         src dest [file [file [ ... ] ]

Recursively copies a directory tree from src to dest.

/statefile   - Specifies a file where information about the copy will
               be written. This argument is required when /incremental
               is specified, as the date and time of the last copy is
               read from this file to determine which files should be
               copied.

/verbosity   - Specifies how much information HoboCopy will emit
               during copy. Legal values are: 0 - almost no
               information will be emitted. 1 - Only error information
               will be emitted. 2 - Errors and warnings will be
               emitted. 3 - Errors, warnings, and some status
               information will be emitted. 4 - Lots of diagnostic
               information will be emitted. The default level is 2.

/full        - Perform a full copy. All files will be copied
               regardless of modification date.

/incremental - Perform an incremental copy. Only files that have
               changed since the last full copy will be copied.
               Specifying this switch requires the /statefile switch
               to be specified, as that's where the date of the last
               full copy is read from.

/clear       - Recursively delete the destination directory before
               copying. HoboCopy will ask for confirmation before
               deleting unless the /y switch is also specified.

/skipdenied  - By default, if HoboCopy does not have sufficient
               privilege to copy a file, the copy will fail with an
               error. When the /skipdenied switch is specified,
               permission errors trying to copy a source file result
               in the file being skipped and the copy continuing.

/y           - Instructs HoboCopy to proceed as if user answered yes
               to any confirmation prompts. Use with caution - in
               combination with the /clear switch, this switch will
               cause the destination directory to be deleted without
               confirmation.

/simulate    - Simulates copy only - no snapshot is taken and no copy
               is performed.

/recursive   - Copies subdirectories (including empty ones). Shortcut: /r

src          - The directory to copy (the source directory).
dest         - The directory to copy to (the destination directory).
file         - A file (e.g. foo.txt) or filespec (e.g. *.txt) to copy.
               Defaults to *.*.

hobocopy's People

Contributors

candera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hobocopy's Issues

Bug: COM failure 0x80070005 - .\HoboCopy.cpp (169)

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=2728773&group_id=117783&atid=679446

C:>hobocopy /verbosity=4 C:\src C:\dest foo*
HoboCopy (c) 2006 Wangdera Corporation. [email protected]

Calling CoInitialize
Starting a full copy from C:\src to C:\dest
Calling CreateVssBackupComponents
There was a COM failure 0x80070005 - .\HoboCopy.cpp (169)

I understand that the failure code 0x80070005 apparently means access denied.
I have found a couple sites that I think might be pertinent:
http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.kernel/2007-09/msg00235.html
http://msdn.microsoft.com/en-us/library/aa387705.aspx

I am running Windows XP SP3.
Both "Volume Shadow Copy" and "MS Software Shadow Copy Provider" services have been manually turned on.
I run as a local administrator, but on a company domain and some security settings on my machine profile might have recently been changed.

Directory names have been changed to protect the innocent :)

Support some form of /ignorepattern

Because I think regexes are a bad fit for the command line, I removed the /ignorepattern switch. Unfortunately, this is a breaking change, since at least one person is using it. I need to add something back in to support at least globbing, if not regexes, or else release hobocopy as 2.0.

Allow multiple directory copies

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=2952382&group_id=117783&atid=679449

I have a script that I created to copy multiple directories to a backup location. The script needs to work with multiple src/dest pairs, which currently requires the hobocopy to be called multiple times, resulting in a VSS copy being made multiple times. It seems like it would be best if hobocopy had a mechanism for making one vss snapshot and multiple src/dest copies.

Allow use of SE_BACKUP privilege

It's possible that making using of the backup privilege will help hobocopy succeed in scenarios where it usually fails. Need to do research into this, see if it will help, and add support for it. Open questions:

  • Should it be an option or should we just always enable it if possible?
  • If it's an option and we can't enable it, should we fail or try to proceed anyway?
  • If it's an option, should it default to on and the switch turns it off or the other way around?

Here's a link to code that can enable the priv: http://msdn.microsoft.com/en-us/library/aa387705.aspx

Files not backing up & Calling DoSnapshotSet stall

Hi there,

I am using Hobocopy on a few computers and quite frankly it's a good piece
of software, it's simple, small and does a lot, and it's certainly on my
goodies list.

The problem is that it acts funny on some computers, and I wonder if you
could help me with this. Actually, it seems more of a VSC service problem,
but I figured since you wrote the code you should know a bit more about
Volume Shadow Copy than I currently do.

This is what happens on one of the PCs:

First issue, it seems not to be able to back up some MSSQL database files
and folders. I get something like this, with Verbose set to 4:

Component X is named XXXXXXXX, has a path of COMPUTER-NAME, and is not
selectable for backup. 0 files, 0 databases, 2 log files.

Also:

Component X has name XXXXXXXXXX, path COMPUTER NAME, is not selectable for
backup, and has parent (no parent).

Then, after a few dozen lines, it stalls at Calling DoSnapshotSet forever,
goes no further.

I have noticed that when requested to stop, manually, or via command or
batch file, the VSC service hangs in a "stopping" state, making it
impossible to be accessed until the computer is restarted.

I will be glad to provide more info if you can help me with this.

Thanks!

Create FAQ

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=2813368&group_id=117783&atid=679449

I would add a FAQ for the beginners like me regarding the creation of a initial statefile... I could suggest a text such as this:

!! FAQ
!!! How-to create a statefile

The statefile required to do an incremental copy is an xml file. The incremental copy will fail if you don't provide the name of an existing and valid xml file. It will also fail if you simply provide an empty file as this is not a valid xml file.

The easiest to get a valid statefile is therefore to run first a full copy of something (or even a copy of nothing by providing a filespec matching with none of the files in the source directory).
Ex.: hobocopy /statefile=myStateFile /full /y srcDrive:\srcPath destDrive:\destPath *.fake

Copy fails with error 5 even with /skipdenied

Background

When running a backup with /skipdenied, the following error is encountered:

There was an error calling FindNextFile. Path: ... Error: 5 (Access denied)

and the backup terminates.

This is probably due to changes introduced in f8fc525.

Desired Behavior

When /skipdenied is specified, error 5 should not stop the backup, but should skip the files encountered.

Hobocopy fails to copy read-only folder as read-only

Background

In this thread, a user reports that hobocopy fails to copy read-only folders as read-only.

Expected Behavior

A folder marked as read-only should be copied as such.

Status

Won't fix: people should use shadowspawn+robocopy to get more full-featured copying.

Filenames in quotes don't work?

In W7 x64 using the Vista x64 .exe when I issue:
C:\Hobocopy>hobocopy /full /verbosity=3 /skipdenied /y /simulate "D:\Outlook\Phil" "D:\Phil\My Documents\Outlook Backup"
I get:
Starting a full copy from D:\Outlook\Phil" D:\Phil\My to C:\Hobocopy\Documents\O
utlook

Not exactly promising!

(I have found workarounds to convert to 8.3 names but I noted this issue cropped up a long time ago in the old blog.)

Source directory name is not copied only contents

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=2098906&group_id=117783&atid=679446

It is odd that the source directory name is not copied only its contents and if you want the source directory name, you need to explicitly put it as part of the destionation path. This may be the desired behavior in some situations but there should be at least a command line switch asking it create the name of the source directory at the destination.

example:

C:>hobocopy /full /skipdenied /y /r "c:\Program Files\Transparent" f:\temp3
HoboCopy (c) 2006 Wangdera Corporation. [email protected]

dir "c:\Program Files\Transparent"
Volume in drive C has no label.
Volume Serial Number is 6095-DF7D

Directory of c:\Program Files\Transparent

05/04/2008 01:51 PM

.
05/04/2008 01:51 PM ..
01/30/2006 09:50 PM Before You Know It 3.5
05/04/2008 01:51 PM Before You Know It 3.6
01/04/2008 08:02 PM LanguageNow!
0 File(s) 0 bytes
5 Dir(s) 34,039,865,344 bytes free

F:>dir temp3
Volume in drive F has no label.
Volume Serial Number is 5893-0797

Directory of F:\temp3

09/07/2008 11:07 AM

.
09/07/2008 11:07 AM ..
09/07/2008 11:06 AM Before You Know It 3.5
09/07/2008 11:07 AM Before You Know It 3.6
09/07/2008 11:07 AM LanguageNow!

I would have guessed like cp or copy that instead there would be a directory under temp3 named transparent, which contained those files as a subdirectory. I understand this is not the way it was designed to work but there should at least be an option to do do this so you don't have to continually copy the dest directory in as your new dest directory for it to create.

The application has failed to start

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=1576608&group_id=117783&atid=679446

The error: "The application has failed to start because
the application configuration is incorrect.
Reinstalling the application may fix this problem."
when invoked from the desktop. When invoked from the
commandline (with and without arguments): "The system
cannot execute the specified program."

The machine:
Intel Celeron 1GHz w/ 384MB RAM
running Windows XP Home SP2
(Version 2002)--?

Package downloaded: hobocopy-0.6.0.0-xp-x32-release.zip
from SourceForge project page

Add robocopy mode

Motivation

It's hard to beat robocopy when it comes to options and features. Hobocopy isn't even close. The one thing it can do better than robocopy is to copy in-use files. It would be great if there were a way to combine the strengths of the two.

Acceptance Criteria

  • Hobocopy is able to create a snapshot and then launch robocopy using the snapshot as the source

File globbing broken

Observed Behavior

From user Nick Massin:

I have noticed that (I can't remember off the top of my head which version) don't use the extension switch (ie: *.ext) properly and will not copy anything if the switch is present in the command.

Expected Behavior

  • File globs should match properly.

Review and update all message severities

Motivation

Sometimes it seems like hobocopy either spews too much information or too little. It would be nice if hobocopy would by default emit only the information that a user is likely to want to know.

Acceptance Criteria

  • All current messages are reviewed to ensure that they are being emitted at the appropriate level.
  • Any missing messages are added

hobocopy fails to create illegal directory name

h2. Steps to Reproduce

  • Attempt to back up a directory named 'aux'
  • Observe the following error:
Unable to determine if directory \\lorien\backup\ashendel\full-1\Work\relevance\ris-system\example-config\aux\ 
(as \\?\UNC\lorien\backup\ashendel\full-1\Work\relevance\ris-system\example-config\aux\) exists. Error was Access is denied.
 (Error number 5).

h2. Desired Behavior

  • Directory is copied without error

h2. Open Questions

  • Q: Is this really a problem with the directory name?
    ** A:
  • Q: How is the program that created this folder in the first place doing it without error?
    ** A:

There was a COM failure 0x80042308 - .\HoboCopy.cpp (351)

I am attempting to set up a script to run nightly backups from other servers to my backup server. I have created a backup script to run a full backup that has a few lines that look like this: hobocopy /full /skipdenied /y /r (Server Name)(Shared Folder) F:(Backup Folder)(Server Folder). When I run this command while testing I get the error There was a COM failure 0x80042308 - .\HoboCopy.cpp (351). I can copy files from my backup server to a network share but not the other way. I have checked to make sure the VSS and MSSCP services are set to manual on my backup server and other servers. Our old backup server uses robocopy and works correctly but when trying to rewrite the scripts using hobocopy syntax I run into this issue.

Wrong source directory is being copied

Background

When running hobocopy with the following command line:

/skipdenied /y /verbosity=3 /recursive /statefile=C:\data\backup\backup.state /clear C:\data \\avalon\backup\ashendel\full-0

The directory C:\data is not backed up. Rather, it appears to be attempting to copy all of C:.

Additional information: C:\data is a junction point, as are many of the directories on C:.

Expected Behavior

C:\data is the only directory that should be backed up.

Hobocopy Incorrectly Making Incremental Backups

Background

A user reports in this thread that hobocopy is behaving incorrectly when run with the /incremental switch. He reports that only the part of the file that has changed since the last backup is getting copied to the destination directory.

Expected Behavior

  • An incremental copy should copy all of any files that have changed since the last copy.

Tech Notes

It looks like the issue might be that /incremental specifies that hobocopy make a snapshot specifying VSS_BT_INCREMENTAL, which I guess actually only shadows the portion of the file that has changed. We want VSS_BT_FULL, so that the whole file gets shadowed.

There was a COM failure 0x80042301 - HoboCopy.cpp (208)

I have issue, please help me!

C:\WINDOWS\hobocopy "C:\Documents and Settings\haidtt\Local Settings\Application Data\Microsoft\Outlook" C:\WINDOWS outlook0.ost /full /y /verbosity=5

Actult result:
HoboCopy (c) 2011 Wangdera Corporation. [email protected]
Argument 0: C:\WINDOWS\hobocopy
Argument 1: C:\Documents and Settings\haidtt\Local Settings\Application Data\Microsoft\Outlook
Argument 2: C:\WINDOWS
Argument 3: outlook0.ost
Argument 4: /full
Argument 5: /y
Argument 6: /verbosity=5
Calling CoInitialize
Starting a full copy from C:\Documents and Settings\haidtt\Local Settings\Application Data\Microsoft\Outlook to C:\WINDOWS
Calling CreateVssBackupComponents
Calling InitializeForBackup
Calling GatherWriterMetadata
Waiting for call to GatherWriterMetadata to finish...
Calling QueryStatus for GatherWriterMetadata
Call to GatherWriterMetadata finished.
Calling GetWriterMetadataCount

Error:
There was a COM failure 0x80042301 - HoboCopy.cpp (208)

Hobocopy creates directories when target is UNC share

I noticed the flaw that hobocopy creates subdirectories when the target is a UNC network share. I've seen this on Windows XP and Windows 7 32bit, I did not test 64bit systems.

The command line

 x:\path\hobocopy.exe /statefile=\\server\share\a.state /verbosity=3 /full /skipdenied /recursive y:\dir\ \\server\share\backup\a\b\ *.pst

creates in the current working directory the subdirectories
server\share\backup\a\b
with no files in it. This also happens when all qualifiers are omitted.

Can not work in Sector-to-Sector mode.

I have read your great article http://craigandera.blogspot.jp/2006_09_01_archive.html a few weeks ago and downloaded the source code.
I am trying to develop a program to backup my system. In my opinion, I would like to copy all the data sector by sector. Because my C drive contains a lots of file.
If copy the files recursively, it will take a very long long time.

Finally, I write a function CreateShadowCopy base on your codes. This function will create a shadow for me and returns a path
"?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1", I try to open the path "?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1" (without the final "") using CreateFile as a device.
In my program, it reads all the data sector by sector and write them to another partition.

But unfortunately, the cloned partition is corrupted and contains a lot of errors. Does it meas that VSS does not support coping data sector by sector?

Best wishes

Copy additional file attributes

It would be nice if you could specify to copy additional attributes, like robocopy:

  /COPY:copyflag[s] :: what to COPY (default is /COPY:DAT).
                       (copyflags : D=Data, A=Attributes, T=Timestamps).
                       (S=Security=NTFS ACLs, O=Owner info, U=aUditing info).

Support all platforms with a single executable

It would be nice if people didn't have to figure out if their machine was 32-bit, 64-bit, or what operating system they're running before downloading. Having a single executable that runs on any platform would make this easier.

Tech Notes

One way to implement this would be to package the various executables into a single wrapper exe that would detect the OS and bitness of the system, and then extract and run the appropriate exe, passing along the command line arguments. Even better if the exe included the CRT redistributable, detected if it were installed, and offered to install it.

Support one-letter command-line switches

Background

It's a standard feature of command-line tools that abbreviated versions of switches be available. For example, "/r" as an alias for "/recursive". Hobocopy should support this convention.

Acceptance Criteria

  • All command-line switches have a short-form equivalent.
  • The documentation is updated to reflect this.
  • A new release (point version change only) is published with these changes.

Command line switch for Version

Since there is four different versions of hobocopy that current exsists, for each OS and stable versus unstable. It would be helpful if there was a command line switch for version. "/version" so that users could know which version they are on.

Additionally, it would be helpful if a check for the Visual C++ Runtime version could be performed to inform the user that they need to install that particular version of the build.

Improve support of incremental copy

Background

Currently, when making a full copy, hobocopy simply records the time of the copy in statefile. When doing an incremental copy, the copy simply looks at each file, and copies it if it has been modified after the date in the statefile. That's not really right, though, as things like moving a directory or a file don't necessarily change the date, but should be reflected in the incremental copy somehow. The issue with this is that when a user restores the full backup and then the incremental one, they could wind up with two copies of some files. Worse, one of them will be old.

Expected Behavior

  • Users should be able to reproduce the state of the backed-up directory using the full backup and an incremental one.

Open Questions

  • What should we do about deleted files? Perhaps a list of deleted files should be produced. What do other backup tools do?

COM failure 0x80042308

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=2129263&group_id=117783&atid=679446

VSS service running on 32-bit XP Pro. Hobocopy executed interactively against a mapped drive with full permissions. Example:

hobocopy H:\Outlook H:\Outlook_Backup

Also tried:

hobocopy H:\Outlook H:\Outlook_Backup archive.pst /recursive

hobocopy H:\Outlook H:\Outlook_Backup archive.pst

Full feedback error message received after that command is executed is:
There was a COM failure 0x80042308 - .\HoboCopy.cpp (349)

Destination Directory can't be root.

This command: HoboCopy.exe c:\Windows\System32\config D:\ SYSTEM
Will fail: Creation of directory failed with error Access is denied. (Error number 5) on directory \?\D:
Same command with a subdirectory will succeed to backup SYSTEM registry file:
HoboCopy.exe c:\Windows\System32\config D:\bak SYSTEM

Another issue is to find download for Binaries, links on github not working.

ExposeLocally failed with COM error

tried to expose the snapshot, and it faild with Internal error 0×80070057, The parameter is incorrect. Any help?
for (unsigned int iFilter = 0; iFilter < filters.size(); ++iFilter)
{
delete filters[iFilter];
}
OutputWriter::WriteLine(TEXT("Exposing Snapshot"));
PWSTR wszExposed;
CHECK_HRESULT(pBackupComponents->ExposeSnapshot( snapshotId, NULL, VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY, L"N:"", &wszExposed));
fileCount = copyAction.get_FileCount();

Error 145 when removing directory

After this:

Recursively deleting destination directory \\avalon\backup\valhalla\incremental-1-1

this appears:

Error The directory is not empty.
 (Error number 145) calling RemoveDirectory on \\?\UNC\avalon\backup\valhalla\incremental-1-1\temp\a\b\Let Over Lambda\letoverlambda.com\index.cl\errata_the errata page_\a_. Several remarks that might seem offensive are actually just phrasing mistakes on my part._\p__p_— Doug_\p__\td__\tr__\table__\td__\tr__

code wrong in chinese environment

In Utilities.h.
int result = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength(), mbBuffer, s2.GetLength(), NULL, NULL);
it's not work in chinese environment, and i change it to:

int len = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength(), NULL, 0, NULL, NULL);
LPSTR mbBuffer = new CHAR[len + 1];
int result = ::WideCharToMultiByte(CP_OEMCP, 0, s2, s2.GetLength() + 1, mbBuffer, len + 1, NULL, NULL);

Failure to copy to root parition

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=2098885&group_id=117783&atid=679446

C:>hobocopy /full /skipdenied /y /r "c:\Program Files\Transparent" f:
HoboCopy (c) 2006 Wangdera Corporation. [email protected]

Starting a full copy from c:\Program Files\Transparent to f:
Creation of directory failed with error Access is denied.
(Error number 5) on directory ?\f:\

C:>hobocopy /full /skipdenied /y /r "c:\Program Files\Transparent" f:
HoboCopy (c) 2006 Wangdera Corporation. [email protected]

Starting a full copy from c:\Program Files\Transparent to F:
Creation of directory failed with error Access is denied.
(Error number 5) on directory ?\F:\

C:>hobocopy /full /skipdenied /y /r "c:\Program Files\Transparent" f:\temp2
HoboCopy (c) 2006 Wangdera Corporation. [email protected]

Starting a full copy from c:\Program Files\Transparent to f:\temp2

Copied directory
Backup successfully completed.
Backup started at 2008-09-07 10:52:16, completed at 2008-09-07 10:53:04.
1872 files (70.15 MB, 99 directories) copied, 0 files skipped

keep in mind temp2 doesn't even exist before running the above command it creates it just fine to put the files into on the fly. So there is no real "Access denied error writing to the path"

Copy fails with error 33 (another process has locked a portion of the file)

Background

A user reports (email threads at http://groups.google.com/group/hobocopy/browse_thread/thread/bcf92b74dc30dbb4 and http://groups.google.com/group/hobocopy/browse_thread/thread/36b6ea19544a0c00) that when copying with

hobocopy.exe "c:\users\us041370\my documents\outlook files" "c:\TESTCopy" archives2008-2010.pst

hobocopy fails with error

Copy of file failed with error The process cannot access the file because another process has locked a portion of the file. (Error number 33) on file \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy17\users\us041370\my documents\outlook files\PersonalFolders.pst

See Also

  • #29 - Copy fails with error 32 (file locked)

Expected Behavior

hobocopy should not have any problems copying files that are locked.

Tech Notes

There must be something locking the shadow files. I'll write a custom version that launches handle.exe with the offending path as an argument so that we can figure out what the problem is.

Support overwriting read-only files

Background

A user requests in this thread that hobocopy have a way to overwrite read-only files.

Acceptance Criteria

  • hobocopy supports overwriting read-only files as party of the copy process.

Failure when backing up long filenames

When backing up with the latest snapshot version, hobocopy fails with the following error:

Failure creating directory \avalon\backup\valhalla\incremental-0-1\Alice_ Wonderland Backup\Data\AInquiry\projects\AI. RLTV-MedAlert\docs-ref\MGMT 801\Project Folders_ The Funkier Bunch - Michael Castellano, Brian Egras, Jeremy Ratz, Alice Wang, Kenneth Ziegler\Donnelley Case\ - The filename or extension is too long.
(Error number 206)

COM failure 0x8000ffff

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=1985589&group_id=117783&atid=679446

When running HoboCopy on Vista x64 Business I get the following error (username replaced by "xxxxx"):

c:\Program Files (x86)\HoboCopy>"c:\Program Files (x86)\HoboCopy\HoboCopy.exe" /full /recursive "c:\Users\xxxxx\Local Settings\Application Data\Microsoft\Outlook" "c:\Users\xxxxx\Local Settings\Application Data\Microsoft\Outlook Snapshot"
HoboCopy (c) 2006 Wangdera Corporation. [email protected]

Starting a full copy from c:\Users\xxxxx\Local Settings\Application Data\Microsoft\Outlook to c:\Users\xxxxx\Local Settings\Application Data\Microsoft\Outlook Snapshot
There was a COM failure 0x8000ffff - .\HoboCopy.cpp (172)

There was a COM failure 0x8004230c - HoboCopy.cpp (361)

I am trying to use Hobocopy with command line...

hobocopy.exe /full "D:\OutlookArchive" "\uncpath\uncpath\uncpath\OutlookArchiveBackup"

I have noticed that when I get the error message, it is putting an quotation mark at the end of the uncpath, but not at the beginning.

I am wondering if that is why I am getting this error message. I had this program working before. I have tried to uninstall and reinstall the Visual C++ run time components to see if that would help anything. I also have full access on the share's that it is copying from and copying too.

Any help would be appreciated.

First-time incremential backup

Migrated from SourceForge: https://sourceforge.net/tracker/?func=detail&aid=1744753&group_id=117783&atid=679449

Hello Wangdera,
do you think it is possible to auto create the Statefile the fisrt time we launch Hobocopy in incremential mode ?

For the moment it don't works if the statefile is not present. So I use a script like the code below, but it might be preferable to implement it directly in the program.

Batch file :

@echo off
if not exist .\HobocopyState.xml goto FirstTime

:Incremental

echo +--------------------+
echo ¦ Incremental backup ¦
echo +--------------------+

hobocopy /statefile=.\HobocopyState.xml /skipdenied /incremental /r %1 %2 > %3
goto End

:FirstTime

echo +-------------------+
echo ¦ First time backup ¦
echo +-------------------+

hobocopy /statefile=.\HobocopyState.xml /skipdenied /r %1 %2 > %3

:End

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.