It's entirely written in C#. It contains a built-in ZIP library - SharpZip, which in my opinion appears to be quicker then the Microsoft ZIP library. It only requires .NET Framework 2.0. It's a small little app. It will only compress uncompressed MSSQL backups (.bak) - in the new version it will also deal with SIMS Discover exports (.dbk) and will only delete compressed files (.zip), SIMS Discover exports (.dbk) and MSSQL backups (.bak). It deletes before it compresses, so you don't waste time compressing only to delete. You can set the maximum age of the backup and it will delete them older then the date specified, it uses the date created. Compression is optional, and if you do choice to, it will set the creation date to the same as the MSSQL backup (.bak).
Download the program, save it to the local disc on the (SIMS) MSSQL server, I generally say create a batch file, but you can do whatever, run from command line
Tidybackups.exe /PATH:(PATH TO YOUR MSSQLBACKUP) /DAYS:(NO OF DAYS) (/ARCHIVE)
For example: Tidybackups.exe /PATH:"C:program filesMicrosoft SQL ServerMSSQL10.SIMS2008MSSQLBackup" /DAYS:30 /ARCHIVE
This will delete any compressed files (.zip) and MSSQL backups (.bak) over 30 days old, any remaining MSSQL backups will be compressed, and the uncompressed version deleted.
This outputs the license details (LGPL), it can not be used with any other switch (if it is, theyll be ignored)
This is how you define the path itll use this option is required
This is the max age of the backups, anything older will be deleted this option is required
This will ZIP (compress) any uncompressed files with the file extension of .bak (MSSQL Backups)
This will output to a log file (amend), if no path is specified it will use the current working directory, if no filename is used, the default will be used.
If this is set, it will output debug information, no actual work will be done. Its useful for testing as it checks file permissions and confirms what will happen without actually doing it.
If TidyBackups detects a corrupt ZIP, it will be deleted, unless /safe has been used
This is the min number of backups that should remain, it will overwrite the /days. The idea is if your backups stop working, you will always keep at least a few. If no days are supplied, then it will default to 6. It will keep this number of each database. The database is determined by the filename, it assumes its in the format of databasenamedatetime.bak (or such).