Donate Bitcoins

ross's blog

A simple backup script: bu.cmd

I've tried many of the backup solutions available, both freeware and commercial. None of them worked for me.

I finally decided to write a simple backup script to backup files using RAR and NTBackup.

It's available here.

Instead of trying to explain it, I'll let bu.cmd speak for itself:


  bu.cmd [options] <sources ...> <destination>

  <sources ...> is one or more filespecs to backup.
  If <sources> is a single letter (c, d, etc.), then assume c:\, d:\, etc.
  NTBackup also accepts 'systemstate'.

  <destination> is the directory to store the backup file to.


-t | --type type          Backup type
                            full:        Full backup (default)
                            diff:        Differential backup
                            incr:        Incremental backup
                            copy:        Full copy backup

-f | --filename filename  Use filename.[rar|bkf|zip] as backup file name

-u | --unique             Use unique backup file name (1.rar, 2.rar, etc)

-l | --label "label"      Assign "label" as a comment for this backup
                           (incompatible with --password)

-d | --date               Save backup in a directory named yy-mm-dd

-i | --time               Save backup in a directory name hh_mm_ss

-y | --sysdir             Save backup in a directory of the system's name

-s | --system systemname  Use systemname instead of %COMPUTERNAME%

-b | --method             Set backup method
                             rar:      Use WinRar   (default)
                             ntbackup: Use NTBackup
                             zip:      Use WinZip   (unimplemented)

-c | --compress mode      Compression method (ntbackup method only)
                             rar:  Use WinRar on NTBackup .bkf file


I used PartitionMagic 8 to resize an NTFS partition, and it hosed tons of photos from our last trip to India. So I hacked together diskid32 and the Small JPEG Decoder Library and created a program to scan my hard disks for the missing JPEG files. It didn't find much more than GetDataBack did, and it was *way* slower. 30+ hours vs. 3 hours. So I shelled out the bucks for both GetDataBack NTFS and GetDataBack FAT. Both excellent programs.

The code can be found here.

Running both a USER and a SYSTEM ssh daemon in Cygwin

After making the following changes to /etc/sshd_config:

RSAAuthentication yes
UsePrivilegeSeparation no

I am able to install and run two sshd daemon's at the same time,
a "SYSTEM" daemon on port 22, and a "USER" daemon on port with the following:


$ -P 23

Here are the scripts: and

Unfortunately, if /etc/sshd_config contains:

UsePrivilegeSeparation yes

it doesn't work. /var/log/sshd_ross.log shows

Bad owner or mode for /var/empty

There are two ways to work around this problem:

1. Use a different sshd_config for the USER daemon:

$ -P 23 -f $HOME/.ssh/sshd_config

2. Always start the USER daemon with the following script:

cygrunsrv --stop sshd_${USER}
chown ${USER}.none /var/empty
cygrunsrv --start sshd_${USER}
chown system.system /var/empty

A zip file contains these scripts and the above readme is available

Automatically build mixmaster 2.9.1 and OpenSSL 0.9.8 with MSVC using Cygwin

To automate the building of mixmaster 2.9.1 and OpenSSL 0.9.8d with MSVC using Cygwin, I created the Makefiles mixmaster.mak and openssl.mak and the patch file mix.mak.patch to fix a glitch in Win/mix.mak.

To build OpenSSL, type:

$ make -f openssl.mak

To build maxmaster, type:

$ make -f mixmaster.mak

Of course, to run make, you will need to install Cygwin and select the make and wget packages. Alternatively, you could unzip, which contains only the executables needed to run make.

The resulting binaries are and mixmaster-2.9.1.rar.

NTFS isn't what it's cracked up to be

After running ROBOCOPY, Windows XP SP1 decided the disk I was copying *from*, was whacked. Suddenly XP can't see the drive is formatted. A reboot solves nothing. It contained the only copy of all our pictures from our last India trip. And I was just about to burn them all to DVD.

So I bought GetDataBack for $119. It tries, but fails, to get much off the disk.

So now I'm left with writing my own program in C++ to read the raw disk data to see if I can extract the images. I know the data is there.

I'll post the program,

ADOdb 4.05 Released with my new session handling code

ADOdb version 4.05 has been released with my new session handling code. The session code has been rewritten to be more object oriented (OO). While at the same time, being backwards compatible.

You can review the file here.

Syndicate content
Donate Bitcoins
Special thanks to Riester Rente Online for a generous donation!