linux 下备份MySQL数据库 并删除7天前的备份数据,mysql天前
#!/bin/bash #备份数据库hz jshuabo sdhuabo name=$(date +%Y%m%d) /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 hz > /root/sqlBackup/hz.$name.sql /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 jshuabo > /root/sqlBackup/jshuabo.$name.sql /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 sdhuabo > /root/sqlBackup/sdhuabo.$name.sql #删除一周之前的备份文件 file_path="/root/sqlBackup" #方法a #rm -rf `find $file_path '*.sql' -mitime 7 -print` > delete.log; #方法b find $file_path -mtime +7 -type f|xargs rm -f #方法c #rm -f `find $file_path -mtime +7 -type f`
你是要写自动备份的脚本吧,刚好我上月写了一个,已经用了近一个月出现问题,给你一份吧
邮箱?
你运气好,我这个也刚做好,发你一份把 。自动运行在window下的任务计划中添加,如需要Linux下的请H! 我··
@echo off
set sqlserver="aboa" \*aboa 为你 要备份的数据库名字
set dn=7 7天以前的,可自己设置
echo.
echo 在D盘自动建立文件夹 back
echo.
if exist D:\back (
echo "已经存在文件夹"
) else (
md D:\back 创建文件夹back
)
cd/d "D:\back"
echo Wscript.echo dateadd^("d",-%dn%,date^)>rd.vbs
for /f "tokens=1-3 delims=-" %%a in ('cscript//nologo rd.vbs')do (
set yy=%%a&set mm=00%%b&set "dd=00%%c")
set ymd=%yy%-%mm:~-2%-%dd:~-2%&del rd.vbs
set n=0
for /f "delims=" %%i in ('dir/b/a-d *.sql')do (
if "%%~ti" lss "%ymd%9" (
cls&echo/&echo 正在删除 %%i
set/a n+=1
del "%%i"))
cls&echo/&echo/&echo 检查删除7天以前的备份文件完毕,共删除 %n% 个文件.
echo _______________________________
echo.
echo 今天是 %date%
echo 时间是 %time%
echo _______________________________
echo.
echo MySQL 数据库备份
echo 正在进行数据备份中,请耐心等待.....
echo.
echo _______________________________
mysqldump --port 3306 -h localhost -u root -proot --default-character-set=utf8 -R %sqlserver% > d:\back\%date:~0,4%-%date:~5,2%-%date:~8,2%.sql 备份的数据库文件名为当天的日期
echo.
pause...余下全文>>