Subscribe to Windows IT Pro
August 19, 2002 12:00 AM

Scheduling Command-Line Win2K Backups

Automate backups on single-tape-drive systems
Windows IT Pro
InstantDoc ID #25961
Rating: (4)
Downloads
25961.zip

The arrival of a new Windows 2000 server outfitted with Quantum's DLT 7000 tape drive convinced me that it was time to retire the old Windows NT 4.0 server that I'd been using to do tape backups. So, I needed to rescript my backups for Win2K. I didn't expect Win2K's NTBackup to be much different from NT's, but I discovered they are quite different.

My backup approach is simple: Every Monday, I put a tape in the drive. That night, I run at.exe and use the Schedule service to erase the tape and do a full backup. Every subsequent night of the week, I schedule a differential backup. I rotate several tapes and keep a recent backup offsite. Although my approach isn't enterprise-level, it works—and it requires that I write only two batch files: one for the complete backup and one for the differential backup.

The bare minimum syntax for a command-line backup is

ntbackup backup <directory> <tapetype>

where directory is the name of the directory you want to back up (I explain the tapetype value later). Win2K lets you specify the name of a backup selection (.bks) file, which contains a list of directories and files to back up. To indicate that the file is a .bks file, you prefix the file's name with the at (@) character. To make a .bks file, open Notepad and list the directories or files that you want to back up, one to a line. You can add the line

systemstate

to back up the registry and—if the server is a domain controller (DC)—Active Directory (AD). To skip a file or directory, add a line that specifies the name of the file or directory that you want to skip, followed by the /exclude parameter. If I want to back up C:\stuff, C:\mystuff, and the registry but not the C:\mystuff\pst directory, I'd type

c:\stuffc:\mystuffc:\mystuff\pst\ /exclude
systemstate

Next, I'd save the file—I'll call mine C:\files.bks. The only catch is that when I save the file in Notepad, I need to choose Unicode encoding (from the Encoding drop-down list box in the Save As dialog box) instead of the default ASCII encoding. After saving the .bks file, I put it into action by starting NTBackup:

ntbackup backup @c:\files.bks <tapetype>

NTBackup has many other options. I usually add the following options to my differential backup:

/v:yes /hc:on /a /m differential /l:f

The /v:yes option tells NTBackup to verify the backup. The /hc:on option activates hardware compression on tapes that support it. The /a option appends the backup to the tape without erasing existing data—if you don't use the /a option, your backup will overwrite other backups on the tape. The /m differential option tells NTBackup to copy files whose archive bits are set but not to clear those bits. Alternative values for this option are normal, which specifies a full backup and is the default; incremental, which is similar to differential but clears the archive bits; daily, which copies only files that have changed that day (and doesn't clear the archive bits); and copy, which is like a full backup but doesn't reset the archive bits. The /l:f option creates an extensive (i.e., complete) log file. Alternatively, you can opt for /l:s (summary log—the default) or /l:n (no log).

Speaking of log files, another oddity about Win2K's NTBackup program is its hidden log files. You'd expect the log files to be easy to find, but Microsoft has put them in a hidden folder inside a hidden folder inside a hidden folder. Whenever you create a backup, NTBackup creates a log file named backupnn.log, where nn can range from 01 to 10. NTBackup keeps only the last 10 logs, rotating the numbers and overwriting older logs as necessary. You can view the logs by starting the Backup GUI application and choosing Tools/Reports, or you can find the files in Documents and Settings\username\LocalSettings\ApplicationData\Microsoft\Windows NT\Ntbackup\Data (where username is the username of the person who initiated the backup). However, if you use at.exe to schedule the backup, the logs go into Documents and Settings\Default User\Local Settings\Application Data\Microsoft\Windows NT\Ntbackup\Data.

Finally, specify the tape drive to use for the backup. Although you usually have only one tape drive, you still need to specify it. Unlike NT's NTBackup, Win2K's utility delegates control of the tape drive to a subsystem, called the Remote Storage Manager (RSM). And RSM's way of managing tape drives has a side effect: You use different syntax to tell NTBackup to overwrite data on the tape than you use to append a backup. To tell NTBackup to overwrite data, you use

ntbackup backup @c:\files.bks
  /v:yes /hc:on /m differential
  /l:f /p "<tapetype>" /um

where the /p switch specifies that you want to use media from the media pool, and tapetype is a tape-drive description (e.g., DLT, 4 millimeter—mm—DDS). The /um switch tells NTBackup to find the first available media of the specified type, format it, and use it for the backup.

Related Content:

ARTICLE TOOLS

Comments
  • Anonymous User
    7 years ago
    Mar 28, 2005

    As always, Mark Minasi rules!

  • Anonymous User
    7 years ago
    Mar 01, 2005

    Concise and well written. Why can't the technical writers at Microsoft ,who are partners with the creators of the software discussed above, do as good a job of explaining the syntax and creating useful examples?

  • Anonymous User
    8 years ago
    Nov 21, 2004

    The batche file is OK but I'm heving problems runnig that batche file on scheduled bases, when I try to run it by my self it runs without any problem but scheduled it dosent start????

  • Anonymous User
    8 years ago
    Oct 30, 2004

    See a couple of comments about ejecting the tape. I don't want to write a whole article here, but some quick tips that should get you going:

    Ejecting the tape requires that you script a RSM command in your batch file. Specifically:

    rsm eject /pf "name of you bacup tape" /astart

    Watch out for these issues:

    1> You must know the name of the tape that you are creating, since rsm eject will not simply eject the tape in the drive even on a single tape system (big change from NT4!). What this means is that you must specifically name your tape with the /n switch on your backup job. I capture the date to a variable (which I call now) so that I can have unique tape names. Why not just use %date% instead of creating a new variable? That is because %date% may not be the same when you start the job as when you finish it.

    2> The second thing to watch out for is that rsm will append " - 1", " - 2", etc. at the end of the tape name if you have duplicates names. It also appears that rsm will add these on if you run multiple (appended) jobs to the same tape.

    Hope this helps!

  • Anonymous User
    8 years ago
    Oct 18, 2004

    A very clear help file, much better than Windows help file. Thaaaaaanks

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.