Backup баз данных с помощью командной строки WinRAR.
Хоть наработка и не относится напрямую к Access, но необходима часто.
Файл !DoBackup.bat:
XMLВыделить код |
1
2
3 |
@Echo Off
@Echo Copy, please wait...
@"c:\program files\WinRar\WinRAR.exe" a -ep -u -dh -agYYYY-MM-DD_HH'mm'ss -ibck -m5 "%~dp0\.rar" @!FileList.txt | |
|
!FileList.txt (список полных путей копируемых файлов, если файл в пути не указан, копируются все файлы из папки):
XMLВыделить код |
1
2
3 |
\\rc0\s01\DRZ\БД1
\\rc1\common$\VL1\БД2
\\rc3\RZ\!Упр\БД3\BD3.cl | |
|
Все файлы копируются в один файл с именем в формате YYYY-MM-DD_HH'mm'ss.rar (можно изменить) в папку где находятся файлы !DoBackup.bat и !FileList.txt.
Периодический запуск !DoBackup.bat организуйте в планировщике, либо другим способом.
Аналог предыдщуего сообщения.
Бат-файл, который запускает, декомпилит и сжимает базу данных, а затем архивирует, файл нумерует в порядке очередности за день и ложит в папочку \history
XMLВыделить код |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
chcp 1251 > nul
chdir "D:\Develop\Source\"
"C:\Program Files\Microsoft Office 2007\Office14\MSACCESS.EXE" "D:\Develop\Source\C_sql.accdb" /decompile /cmd history
"C:\Program Files\Microsoft Office 2007\Office14\MSACCESS.EXE" "D:\Develop\Source\C_sql.accdb" /compact
set fn=CZ_%date:~6,4%.%date:~3,2%.%date:~0,2%
set i=0
:next
set /a i=i+1
set fname=%fn%_%i%.rar
if exist _history\%fname% goto next
chcp 866 > nul
"D:\Program Files\WinRAR\WinRAR.exe" A _history\%fn%_%i%.rar C_sql.accdb
:end | |
|
В базе данных, на событие Open стартовой формы в самом начале вешаю код
Visual BasicВыделить код |
1
2
3
4 |
Private Sub Form_Open(Cancel As Integer)
If Command = "history" Then Exit Sub
.....
End Sub | |
|
А на событие Load стартовой формы
Visual BasicВыделить код |
1
2
3
4 |
Private Sub Form_Load()
If Command = "history" Then Application.Quit
.....
End Sub | |
|
Таким образом, при запуске батника программа открывается, декомпилится, сжимается и закрывается. И не выполняет лишних действий при старте.
Папка \history должна существовать в том же каталоге, где запускается батник.