1. 程式人生 > >IDC業務服務器上一些簡單實用的BAT腳本

IDC業務服務器上一些簡單實用的BAT腳本

臨時 對數 tmp fin eve php 轉移 auth 實用

腳本可實現搜索清理指定目前下的錯誤日誌文件,當然稍加改動即可實現其它相應較復雜功能。
@echo off
::author: by jerry
set webroot=E:\wwwroot
set "Ymd=%date:~,4%-%date:~5,2%-%date:~8,2%"
set "Hms=%time:~0,2%-%time:~3,2%-%time:~6,2%"
set DT=%Ymd%-%Hms%
for /f "usebackq tokens=1 delims=" %%a in (dir /b %webroot%) do call :err_del %%a
echo ---------------- %DT% del err_log success!!!-------------- >>dellog.txt

rem 篩選出error_log.php
:err_del
set DirName=%1%
if exist %webroot%\%DirName%\web\caches\error_log.php (call :screen)
goto :eof

rem 刪除error_log.php文件
:screen
del %webroot%\%DirName%\web\caches\error_log.php
echo %webroot%\%DirName%\web\caches\error_log.php>>dellog.txt

goto :eof

以下腳本實現從指定目前復制到相對應目錄中,IDC服務器站點轉移(恢復服務器站點)時可用使用。
::DIY Copy To Specially Directories
::Author: jerry
::Date:2018-6-21
@echo off
::創建變量
set pathwww="E:\wwwroot"
::獲取目錄名存放到一個臨時文件,方便查看
dir /b %pathwww%>tmp.txt
::循環執行復制操作,將目錄名作為循環變量個數循環。
for /f %%i in (tmp.txt) do (
xcopy E:\wwwrootbackup\%%i\www* E:\wwwroot\%%i\web* /y /E )

echo. & pause
exit

以下腳本實現刪除指定日期前的事務日誌
@echo off
set SrcDir=F:\mysqlbak
set DaysAgo=185
forfiles /p %SrcDir% /d -%DaysAgo% /c "cmd /c del /f /q /a @path && rd /s /q @path" >> delete_old_backup.log

以下腳本實現對數據庫壓縮備份操作。
@echo off
echo.
echo MySQL數據庫備份腳本

echo
echo.
echo 備份日期:%date%
echo 備份時間:%time%
echo.
echo

set "Ymd=%date:~,4%-%date:~5,2%-%date:~8,2%"

set bakdir="D:\MySQL51\data"

echo 正在進入MySQL目錄。註意:對於有空格的目錄,命令行要加引號。"C:\Program Files"

cd "D:\MySQL51"\bin

echo 正在停止MySQL,請稍等......
net stop MySQL

echo 正在備份數據,請稍等......
if not exist "F:\mysqlbak\%Ymd%" mkdir "F:\mysqlbak\%Ymd%"
for /f "usebackq tokens=1* delims=/" %%a in (dir /b %bakdir%) do "C:\Program Files (x86)\WinRAR\WinRAR.exe" a -ep1 -r0 -exit -- "F:\mysqlbak\%Ymd%\%%a.rar" %bakdir%\%%a

echo 數據庫備份完成,正在重啟MySQL,請稍等......
net start MySQL

echo MySQL啟動完成
echo.

刪除文件中包含指定內容的文件,也可改下用做木碼文件等的清理
@echo off
set webroot=E:\wwwroot
for /f "usebackq tokens=1 delims=" %%a in (dir /b %webroot%) do call :Del_Index %%a

rem 篩選出index.html
:Del_Index
set DirName=%1%
if exist %webroot%\%DirName%\web\index.html (call :screen)
goto :eof

rem 刪除帶有""<!-- 頁面頭部【start】 -->"的index.html文件
:screen
find ""<!-- 頁面頭部【start】 -->"" %webroot%\%DirName%\web\index.html
if %errorlevel%==0 (del %webroot%\%DirName%\web\index.html)
goto :eof

IDC業務服務器上一些簡單實用的BAT腳本