Since osql is being depricated, probably the better route is to create a backup SQL script for the targeted databases to backup such as:
BACKUP DATABASE [TestDB] TO DISK = N'E:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup\TestDB.bak' WITH NOFORMAT, NOINIT, NAME = N'TestDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CONTINUE_AFTER_ERROR
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'TestDB' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'TestDB' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''TestDB'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N'E:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup\TestDB.bak' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
Save it to a directory on the harddrive and then script out a sqlcmd batch file to automate the backup. This can be scheduled via the Windows Scheduler.
The syntax would be similiar to this:
@echo off
sqlcmd -H avt-oak-01 -S avt-oak-01\SQLEXPRESS -E -i "E:\Docs\SQLQueries\Back
upTestDb.sql" -o "C:\BackupTestDb.log"
EXIT
The log output would then have the following output:
14 percent processed.
24 percent processed.
34 percent processed.
44 percent processed.
54 percent processed.
64 percent processed.
74 percent processed.
84 percent processed.
94 percent processed.
Processed 160 pages for database 'TestDB', file 'TestDB' on file 1.
100 percent processed.
Processed 2 pages for database 'TestDB', file 'TestDB_log' on file 1.
BACKUP DATABASE successfully processed 162 pages in 0.505 seconds (2.492 MB/sec).
The backup set on file 1 is valid.