MySQL自動備份腳本
::mysqldump -u root -p密碼 test_zc >d:bak.sql
::pause
@@echo off
set errorlevel=0
set path_home_mysql=D:mysql-8.0.27-winx64
::MySQL安裝的BIN目錄 (雙引號不能少) 特別是注意空格
set path_bin_mysql="D:\mysql-8.0.27-winx64\bin\"
::以“YYYYMMDD”格式取出當前時間。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
echo %path_bin_mysql%
::服務(wù)器IP地址
set database_address=127.0.0.1
::數(shù)據(jù)庫名稱
set database_mysql=test_zc
::用戶名
set user_mysql=root
::密碼
set password_mysql=密碼
::文件的存放路徑及名稱
set file_path=d:/mysqlbak/
::mysql -h%database_address% -u%user_mysql% -p%password_mysql% > %path_bin_mysql%%file_path% --default-character-set=utf8
%path_bin_mysql%mysqldump.exe -h%database_address% -u%user_mysql% -p%password_mysql% %database_mysql% > %file_path%mysql_%BACKUPDATE%.sql
::刪除7天前的備份。
::forfiles /p "%file_path%" /s /m *.* /d -1 /c "cmd /c del @path"
forfiles /p "D:mysqlbak" /m *.sql -d -1 /c "cmd /c del /f @file_path"
echo end backup
pause
oracle自動備份腳本
@echo off
echo ================================================
echo windows環(huán)境下Oracle數(shù)據(jù)庫的自動備份腳本
echo 1. 使用當前日期命名備份文件。
echo 2. 自動刪除7天前的備份。
echo ================================================
::以“YYYYMMDD”格式取出當前時間。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::設(shè)置用戶名、密碼和要備份的數(shù)據(jù)庫。
set USER=用戶名
set PASSWORD=數(shù)據(jù)庫密碼
set DATABASE=數(shù)據(jù)庫名
::創(chuàng)建備份目錄。
if not exist "D:backupdata" mkdir D:backupdata
if not exist "D:backuplog" mkdir D:backuplog
set DATADIR=D:backupdata
set LOGDIR=D:backuplog
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%data_%BACKUPDATE%.dmp log=%LOGDIR%log_%BACKUPDATE%.log
::刪除7天前的備份。
forfiles /p "%DATADIR%" /s /m *.* /d -1 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -1 /c "cmd /c del @path"
pause
補充知識:
Windows下bat腳本設(shè)置和獲取環(huán)境變量
:: 設(shè)置環(huán)境變量
:: 關(guān)閉終端回顯
@echo off
set ENV_PATH=%PATH%
@echo ====current environment:
@echo %ENV_PATH%
:: 添加環(huán)境變量,即在原來的環(huán)境變量后加上英文狀態(tài)下的分號和路徑
set MY_PATH=D:test
set ENV_PATH=%PATH%;%MY_PATH%
@echo ====new environment:
@echo %ENV_PATH%