1、linux服务器自动备份mysql数据库的脚本!
你运气好,我这个也刚做好,发你一份把 。自动运行在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 _______________________________
mysqlmp --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
2、求一个linux服务器备份的.sh脚本,备份文件*.gz复制到本地windows xp的移动硬盘上,终端工具是SecureCRT
又问复了一遍?
windows上装一个FTP服务器制,比如Serv_U之类的,创建用户,将其home设为 I:\备份\wenjian\192。然后Linux上传过去
参考脚本:
#!/bin/bash
cd /opt/profiles
tar zcvf 192.gz wenjian
/usr/bin ftp -n <<!
open 192.168.1.3 #Windows IP or hostname
user Username Password
binary
put 192.gz
close
bye
!
3、linux 自动备份和恢复的脚本
#!/bin/sh
#BAKDIR可以换一个自己喜欢的
BAK_DIR=/backup
#*为未知,自己查一下怎么取星期啦, 要0-6那个
DATE=$(date +%*)
#自己查一下怎么周数啦
WEEK=$(date +%*)
#备份文件名
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2
#其实没什么不同的,只是要改文件名而已
if [ $DATE -eq 0]; then
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$FULL_BAK
else
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$INCRE_BAK
fi
exit $?
# 把任务加到crontab里就行了,每天执行一次
================
#!/bin/sh
BAK_DIR=/backup
#还原目录
RECOVER_DIR=/
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2
echo -n "recover from week: “
read WEEK
if [ -e $BAKDIR/$FULL_BAK ];
then
tar xjf $BAK_DIR/$FULL_BAK -C
$RECOVER_DIR
for N in $(seq 6); do
if [ -e $BAK_DIR/$INCRE_BAK ]; then
tar xjf $BAK_DIR/$INCRE_BAK -C $RECOVER_DIR
fi
done
else
echo "Backup file not exist!! exit now~~"
fi
exit $?
# 这个是手动执行的,要自己输入想还原到的周数年
补充:
可能要自己调试一下
4、如何利用shell脚本备份网站数据到远程linux主机上
第一步: 设置免密码登录 请参考 如何ssh免密码登录linux服务器
第二步:输入以下代码后(注意最后一行的199.101.117.xx改成你自己的那个服务器地址) 保存退出
[root@niko ~]# vi backup.sh
#!/bin/bash backdir=/backup month=`date +%m` day=`date +%d` year=`date +%Y` dirname=$year-$month-$day mkdir -p $backdir/$dirname mkdir -p $backdir/$dirname/conf mkdir -p $backdir/$dirname/web mkdir -p $backdir/$dirname/db gzupload=upload.tgz cp /etc/httpd/conf/httpd.conf $backdir/$dirname/conf/httpd.conf cd /var/www/html/ tar -zcvf $backdir/$dirname/web/$gzupload ./ scp -r /backup/$dirname [email protected]:/backup
第三步 crontab -e 设置每日定时
[root@niko ~]# crontab -e
第四步 设置每日的10:28分运行backup.sh脚本,注意脚本名最好写绝对路径
28 10 * * * /root/backup.sh
第五步 设置脚本运行权限
[root@niko ~]#chmod +x /root/backup.sh
第六步 在另一台也就是要存放备份的服务器上新建backup这个文件夹
[root@testvpn backup]#mkdir /backup
5、SQL Server远程定时备份数据库脚本分享
经常会有定时备份SQL
Server数据库的需要。定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里。
下面就分享一份在网上找了之后,自己再简单整理过的代码,配合
SQL
Server
代理中的作业功能,已经稳定运行一个星期了,每小时就备份一次。
复制代码
代码如下:
--
创建网络映射(Y是盘符;IP地址后面要带共享文件夹的名称;password是密码,双引号引起;account是远程电脑的登录名)
exec
master..xp_cmdshell
'net
use
Y:
\\192.168.0.69\sqlbackup
"password"
/user:192.168.0.69\account'
--
按日期时间做文件名(注意路径中的文件夹,需要先建立好)
declare
@filename
varchar(200)
select
@filename
=
'Y:\DB\'
+
replace(replace(replace(CONVERT(varchar,
getdate(),
120
),'-',''),'
','-'),':','')
+
'.bak'
--
执行备份(DB是要备份的数据库名称)
backup
database
[DB]
to
disk
=
@filename
--
删除网络映射(Y是盘符,同上)
exec
master..xp_cmdshell
'net
use
Y:
/delete'
6、linux服务器下自动备份数据库脚本备份出来的数据大小为0
把两个文件名的路径都写全呢?
我觉得应该是没找到shuju文件或者没有读取权限的问题,然后生成的shuju.sql就是空文件
7、如何每天把linux服务器上的目录定时备份到另一台Linux服务器上。(想要脚本)
两台搞下免密码登陆;
计划任务那边写条命令每天定时运行
scp -P -r 远程端口 /root/test/[email protected]:/root/test
8、windos服务器怎么写压缩备份的脚本啊?
集成命令列表1功能:自动备份数据库并按日期创建备份文件夹。代码如下:@echooffecho执行备份任务echo正在停止数据库…echo正在停止网站数据库…netstopMySQLecho执行备份数据库xcopy"D:MySQLdata*.*"D:mysqlbakwebbak%date:~0,10%/e/y/cnetstartMySQLecho正在启动网站数据库…echo退出备份任务echo.exit拆解:停止数据库命令代码如下:netstopMySQL拷贝数据库文件D:MySQLdata为数据库存放目录D:mysqlbakwebbak为数据库备份目录%date:~0,10%为当前备份日期创建目录代码如下:xcopy"D:MySQLdata*.*"D:mysqlbakwebbak%date:~0,10%/e/y/c启动数据库代码如下:netstartMySQL集成命令列表2功能:自动备份数据库并日期rar加密打包(密码为123456)。代码如下:@echooffecho执行备份任务echo正在停止数据库…echo正在停止网站数据库…netstopMySQLecho执行备份数据库xcopy"D:hostmysqldata*.*"E:wwwrootDefaultwebmysql/e/y/cnetstartMySQLecho正在启动网站数据库…echo正在打包网站数据库…"C:ProgramFilesWinRARWinRAR.exe"a-r-ibck-p123456-yE:wwwrootDefault\%date:~0,10%-WEBDATA.rarE:wwwrootDefaultwebmysql*.*echo退出RAR打包echo删除复制数据库del/s/qE:wwwrootDefaultwebmysql*echo退出备份任务echo.exit拆解:以上重复命令不重复说明了打包并加密C:ProgramFilesWinRARWinRAR.exe为winrar压缩程序安装目录123456为压缩包加密密码E:wwwrootDefault为打包到的目录%date:~0,10%-WEBDATA.rar为压缩文件名,例如今天是2012-12-27名字就是2012-12-27-WEBDATA.rar代码如下:"C:ProgramFilesWinRARWinRAR.exe"a-r-ibck-p123456-yE:wwwrootDefault\%date:~0,10%-WEBDATA.rarE:wwwrootDefaultwebmysql*.*删除拷贝数据E:wwwrootDefaultwebmysql*为备份目录,为方便下次备份一定要删除。不然容易重复。代码如下:del/s/qE:wwwrootDefaultwebmysql*备份任务下载说明:从网站进行命令下载到指定的目录代码如下:wgethttp://备份文件的WEB地址/MySQLDATA-%date:~0,10%.rar-PE:数据备份\%date:~0,10%wget下载地址:放在C:WindowsSystem32注意:也可以用其它工具进行下载,如果大文件的话不建议用这种方法。对于小文件倒还好。添加自动任务打开任务面板->任务计划双击“添加任务计划”下一步浏览到你创建的CMD。自定义任务的名称,如果是数据库的话建议一天备份一次。如果网站文件的话可以设置一周。下一步设置时间,建议设置2-3点左右。下一步输入管理的帐号和密码来完成任务创建。
9、如何写一个bat将A服务器的文件夹定时备份到另一台服务器中?
B服务器需要开启共享
xcopy "E:\文件夹" "\\B服务器IP\文件夹\" /e /h /q /y
10、异机文件备份的bat脚本怎么制作?
NET USE \\备份机器名 "密码" /user:"用户专名"
NET USE Z: \\备份机属器名\SharedDocs
xcopy D:\用友备份 z:\ /D /E /Y /H /K
net use \\备份机器名 /delete