服务器上的数据多久备份一次

服务器上的数据多久备份一次,第1张

对存储在服务器上的数据进行更改时,就可以备份,同时,服务器级备份应该每24小时到48小时运行一次。如果用塔迈备份一体机的话,可以自己设置备份的时间、内容,到时间了就会自动备份。也可以差异备份,当数据发生变化时就会自动备份。

linux系统下使用脚本定时备份数据库,代码如下:

#!/bin/bash

#Setting

#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式

#默认情况下备份方式是mysqldump,还可以是mysqldump,mysqldotcopy,如果注释掉第

#18行,则默认以tag的方式备份

#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=123456

BackupPath=/home/wang/www/backup/mysql/mysqlbackup

LogFile=/home/wang/www/backup/mysql/db.log

DBPath=/var/lib/mysql/

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

#Setting End

NewFile="$BackupPath"db$(date +%y%m%d).tgz

DumpFile="$BackupPath"db$(date +%y%m%d)

OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz

echo "-------------------------------------------" >>$LogFile

echo $(date +"%y-%m-%d %H:%M:%S") >>$LogFile

echo "--------------------------" >>$LogFile

#Delete Old File

if [ -f $OldFile ]

then

rm -f $OldFile >>$LogFile 2>&1

echo "[$OldFile]Delete Old File Success!" >>$LogFile

else

echo "[$OldFile]No Old Backup File!" >>$LogFile

fi

if [ -f $NewFile ]

then

echo "[$NewFile]The Backup File is exists,Can’t Backup!" >>$LogFile

else

case $BackupMethod in

mysqldump*)

if [ -z $DBPasswd ]

then

mysqldump -u $DBUser --opt $DBName >$DumpFile

else

mysqldump -u $DBUser -p$DBPasswd --opt $DBName >$DumpFile

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo "[$NewFile]Backup Success!" >>$LogFile

rm -rf $DumpFile

mysqlhotcopy*)

rm -rf $DumpFile

mkdir $DumpFile

if [ -z $DBPasswd ]

then

mysqlhotcopy -u $DBUser $DBName $DumpFile >>$LogFile 2>&1

else

mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo "[$NewFile]Backup Success!" >>$LogFile

rm -rf $DumpFile

*)

/etc/init.d/mysqld stop >/dev/null 2>&1

tar czvf $NewFile $DBPath >>$LogFile 2>&1

/etc/init.d/mysqld start >/dev/null 2>&1

echo "[$NewFile]Backup Success!" >>$LogFile

esac

fi

echo "-------------------------------------------"

echo

#lftp -f lftp.sh 如果有FTP可同时上传ftp中。

再利用crontab命令生成/var/spool/cron/root 文件:

#crontab –e

//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令

//m h dom mon dow command

//具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)

//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)

这样吧!

1.你在windows上装备FlashFXP这个软件!然后定制一个传送列队,把列队可以存出来,在软件中把是否覆盖这类东西设好,然后双击那个列队文件,就开始上传了!然后再windows计划任务里把这个列队文件设成计划任务!

2.或者你可以在linux上开SMB服务,就是把linux的一个区域模拟成windows的共享,这样你就可以简单的用复制粘贴等 *** 作把你文件copy到linux上去了(做个.bat的批处理文件拷贝也可以,这样bat文件就可以放到计划任务里了),把共享做个映射的硬盘;

2.1用Allway Sync备份工具 V9.2.11 汉化版这个软件去同步两边的文件,

2.2当然你也可以用fastcopy这个软件,自动复制指定文件夹所有文件,对方如果同名文件存在,可以根据修改日期自动判断是否覆盖!淡然执行那个按钮你得点,不过这个问题可以用按键精灵解决,让按键精灵设定好时间,定时启动替你干这个!

当然高级办法也有,有人用VBS脚本来干,不过我不熟那个,所以没用,但网上能找到!

3.在linux系统上设置crontab, 晚上定时去windows ftp上下载。借鉴楼下的做了点说明

3.1 在windows上安装ftp服务端

3.2 在写下载脚本auto_download.sh:

参考:

lftp 10.0.0.1 -u user,passwd -e 'cd /pwdget XXquit'

多文件下载请用mget

3.3 在linux上设定crontab

crontab -e

00 00 * * * sh /pwd/auto_download.sh

每天零点开始执行auto_download.sh 这个脚本

呵呵,这么多思路你慢慢想吧!总有好办法的!祝你好运


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9023370.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-24
下一篇2023-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存