Since Acronis TrueImage (ATI) can optionally encrypt its outputted
backup file, why add the extra step of using PGP after using ATI?
http://www.acronis.com/en-us/support/documentation/ATIH2012/#7937.html
#7 refers to "Disk backup options" described at:
http://www.acronis.com/en-us/support/documentation/ATIH2012/#7940.html
I don't see there an option for encryption. However, there is a link to
"Backup protection" at:
http://www.acronis.com/en-us/support/documentation/ATIH2012/index.html#3407.html
The above are help web pages for ATI 2012. I did find:
http://www.acronis.com/en-us/support/documentation/ATIH2011/index.html#3407.html
for ATI 2011 that does have a "Backup protection" setting in the
Advanced tab for "Disk backup options". From what I read in Acronis
forums, "Backup protection is only available when you set up a new
backup task. As soon as you have done a backup, the backup encryption
option is not showing up." That is because once you set a password
string (used to encrypt), even a blank one, the password cannot be
changed later in the backup job. You have to enable encryption when you
first define a backup job.
In addition, if you set the backup location to Acronis Secure Zone (ASZ)
when defining a backup job, encryption will not be available. However,
for you to copy it elsewhere means that you would need to mount the
image through ATI. The ASZ is not only hidden (no drive letter assigned
to the partition) but also uses a non-standard partition type in the
partition record in the partition table back in the MBR or UEFI. Hiding
it prevents malware and malicious/ignorant users from destroying your
backups and using a non-standard partition type prevents most disk tools
from monkeying with that partition. I wish they had added disabling the
device (I can do it using devcon.exe - a command-line equivalent to
Device Manager) and also setting a Windows policy to prevent writing to
that volume. Paragon's Backup & Restore has its similar Backup Capsule
which works the same way (programmers migrated between Acronis and
Paragon and why the similar protection scheme).
So when first defining a backup job and as long at the backup location
is not ASZ, the encryption option is available. Then you can encrypt
while you backup instead of having to perform encryption as a separate
and follow up task.
Back to the hang issue, I'm wondering if there is still an open handle
on the backup file. A write protected (locked) file would prevent
robocopy from opening the file. robocopy should immediately fail with
an access error on the file. However, if the file is not locked but
still open (another process has a handle still open on the file), maybe
robocopy is still waiting for the file to close before it can finialize
its read of the same file. You could use something like Unlocker or
SysInternals' handle.exe to see if there is still a handle on the file
that you are trying to process in the subsequent PGP run.
Are you using a batch (script) file to run the ATI job and then follow
with PGP and then follow with robocopy? If so, are you checking the
return status of the prior command to ensure it completed okay? If you
list commands one line at a time in a .bat file, they get executed in
sequence regardless of what happened with the prior program. You could
use IF ERRORLEVEL in the batch file to check status is zero from the
prior command. You actually have to test if ERRORLEVEL is 1, or
greater, and if so then use goto to error code that bypasses subsequent
commands. IF ERRORLEVEL returns true on any value equal to *or greater*
so testing for zero is tough. Instead use IF %ERRORLEVEL% LSS 1 to be
sure zero got returned. Alternatively, you can use conditional chaining
within a command line. & is used to chain commands within one command
line. && is used to conditionally chain commands within the same
command line: the next command doesn't run unless the return status from
the prior command is zero (okay). cmd1 & cmd2 will run cmd2 whether
cmd1 ran okay or not. cmd1 && cmd2 won't run cmd2 unless cmd1 completed
okay.
In fact, a program may load and still be running but the .bat file
continues running subsequent commands that are probably inapplicable at
that time. That is, program 1 gets loaded but immediately returns
status despite it is still running so program 2 runs; however, program 1
has not yet completed its task. program 1 loaded it GUI or shell and
returns status but it is still working and will exit sometime later.
You need to put the shell on hold in which you run the batch file so
that program 2 has to wait until program 1 has actually *exited*, not
just that it loaded okay. You need to ensure the ATI backup is not
still running, has actually ended and the ATI program exited, before you
run the following PGP command. To make the shell wait until program 1
exits, use the start command, like:
start "Acronis job" ...
I always add the title arg (within double quotes). If you don't specify
the title arg, any other arg using double quotes, like to delimit a path
(/D path) or command/program file (including a path to it) because it
has spaces will result in start parsing the arg as the title. So I add
"title" so in case any other arg has double quotes then that arg won't
get confused as the title. I add "title" and it is the first arg so it
is sure to get parsed as the title arg.
I haven't bothered to run ATI from a command line but I suspect it does
support a CLI (command-line interface) to use it that way. I don't know
if its CLI will pend the shell execution (of the batch file) until the
command to ATI has completed (backup done *and* ATI unloads). See if
using start makes sure ATI has loaded AND ran AND exited before the next
command in the batch file gets ran.
Or are you using the post-command feature in ATI to run a program or
batch file after ATI has supposedly completed its backup job? That
means ATI has not exited when the post-command gets run. I remember
having to do something goofy in my batch files when called as
post-command by an ATI backup job but been too long since I last used
ATI. The batch file where I used diskpart to remove the drive letter
and devcon to disable the device wouldn't run correctly when called by
ATI as a post-command after a backup job. Don't remember what I had to
modify to get it to work okay as a post-command in ATI.