MyTetra Share
Делитесь знаниями!
Backup баз данных с помощью командной строки WinRAR.
Время создания: 29.07.2019 22:51
Раздел: Script
Запись: xintrea/mytetra_db_adgaver_new/master/base/1537648909hdznqnda16/text.html на raw.githubusercontent.com

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 должна существовать в том же каталоге, где запускается батник.

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования