在现代科技的推动下,越来越多的企业开始把业务数据放到服务器上,便于数据共享和备份。但是服务器的数据备份常常被忽略,一旦数据出现问题,后果不堪设想。定时备份是保证数据安全的一种方式,Linux系统自带的rsync命令可以帮助我们实现数据的定时备份。
创新互联自2013年起,先为依兰等服务建站,依兰等地企业,进行企业商务咨询服务。为依兰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
本文将介绍如何使用Linux自带工具rsync实现7天不间断的自动备份,并提供一些备份方案供读者参考。
一、rsync命令备份基础
rsync是一个备份和复制的程序,在Linux系统中广泛使用。rsync备份可以通过网络途径进行,且支持归档保留,因此可以在本地及远程实现备份。以下的rsync命令可以实现本地备份。
rsync -av –delete –exclude “tmp/” /var/www/ /backup/www/
其中:
-a, –archive 表示按照归档方式备份,包括递归复制目录、保留权限、链接、时间戳和所有者等
-v, –verbose 显示详细输出
–delete 表示删除目标文件夹中在源文件夹中不存在的文件。
–exclude 表示排除匹配的文件或目录。在此例中,排除了备份文件夹/tmp/,避免对备份带来不必要的麻烦。
/var/www/表示源文件夹
/backup/www/表示目标文件夹。可以通过定时机制设置备份周期,实现自动化备份。
二、定时计划任务crontab
crontab是一种标准的Unix定时任务调度工具,在Linux系统中被广泛应用。 crontab可通过命令行进行调用和修改,也可以设置为定时任务,例如每天凌晨1点进行备份。
使用crontab定时任务之前需要了解crontab文件有5个变量,分别是 分(0-59),时(0-23),日(1-31),月(1-12),周(0-6,0是周日),每条命令一般由5个变量加上待运行的命令组成,如下所示:
* * * * * command
星号表示执行所有时间,所以一行命令可能如下所示:
0 * * * * command
以上命令表示每小时的第0分钟执行一次指定的命令。
如果需要每天凌晨1点进行备份,在命令行中输入以下语句:
0 1 * * * /usr/bin/rsync -av –delete –exclude “tmp/” /var/www/ /backup/www/
其中0表示每个小时的0分钟即凌晨1点执行,1表示小时(1-24),星号*表示每个月的每一天,也可以指定日期(例如10代表每个月的10号)。最后的命令即rsync备份命令。此设置会让Linux系统在每天的01:00执行rsync命令,实现数据备份。
三、3种备份方案
数据的备份和恢复是服务器管理的基本任务。以下介绍3种常见的备份方案,可供读者参考。
1. 本地备份
本地备份是指数据存储在本地计算机或存储设备上。具有以下优点:
备份速度快,不受网络限制。
对于小规模的数据进行备份,一般只需有足够的存储设备。
缺点是数据容易丢失,不能防止自然灾害或硬件故障带来的数据损失,要定期转存数据。
2. 远程备份
远程备份是指数据上传到远程服务器进行备份,具有以下优点:
数据安全性高,避免了因电脑故障、病毒、自然灾害等因素导致的数据损失。
随时随地可以访问备份数据。
缺点是备份过程受网络环境影响,例如上传速度缓慢。
3. 镜像备份
镜像备份是指将硬盘或磁盘完整复制到另一个硬盘或磁盘上,并保持相同的磁盘结构。镜像备份是最完美的备份方式,具有以下优点:
可以在不使用任何备份软件的情况下快速恢复,保留了整个数据系统。
缺点是备份速度较慢,需要足够的存储设备。
及时、规范、稳健的备份方案可以保证数据安全,为企业客户之间的信任提供了关键保障。以上是7天不间断的Linux定时备份技巧,希望能对读者有所帮助。
相关问题拓展阅读:
你运气好,我这个也刚做好,发你一份把 。自动运行在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.
echoMySQL 数据库备份
echo正在进行数据备份中,请耐心等待…..
echo.
echo _______________________________
mysqldump –porth localhost -u root -proot –default-character-set=utf8 -R %sqlserver% > d:\back\%date:~0,4%-%date:~5,2%-%date:~8,2%.sql 备份的数据库文件名为当天的日期
echo.
pause
你是用什么方法解决的?
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
then
rm -f $OldFile >> $LogFile 2>&1
echo “Delete Old File Success!” >> $LogFile
else
echo “No Old Backup File!” >> $LogFile
fi
if
then
echo “The Backup File is exists,Can’t Backup!” >> $LogFile
else
case $BackupMethod in
mysqldump*)
if
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 “Backup Success!” >> $LogFile
rm -rf $DumpFile
;;
mysqlhotcopy*)
rm -rf $DumpFile
mkdir $DumpFile
if
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 “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 “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)
//如:* * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)
LINUX通常使用tar命令进行数据备份,但外面很多资料所介绍的比较专业,也就比较复杂些,初学者很难看告告桥明白。现介绍一种“傻瓜式备份方案”,供初建LINUX服务器者参考。
1、首先我们要知道需要备份哪些数据。
一般包括数据库和网站数据,在本例中,数据库位于/var/lib/mysql/目录;网站位于/www/users/目录。
2、确定需要将数据备份在哪里,在这个分区中创建一个目录
应该挑选一个空间较大的分区,例: /var
键入命令:
cd /var
mkdir backup
3、创建备份目录后,进入备份目录
cd /var/backup
4、数据库一般应该完全备份,建议每次备份以当前日友老期命名
tar -czvf mysql.tar.gz /var/lib/mysql/*
这个命令的意思是,在当前目录下生成一个备份,备份的内容是/var/lib/mysql/目录下的所有内容
5、如果网站数据不多,可以每次将网站数据完全备份
tar -czvf users.tar.gz /www/users/*
6、如果网站数据较多(尤其是运营E站通,商城等每天更新文件量较大的系统),建议每月一次完袜猛全备份,每天(或每周)一次更新备份。这个备份方式即所谓的“差分备份”,差分备份要求每一次更新的备份都要针对上一次完全备份的时间。
例如:在10月15日进行一次完全备份:
tar -czvf users.tar.gz /www/users/*
在下一次完全备份前针对10月15日的完全备份进行更新备份(如每周一次):
tar -czvf users.tar.gz /www/users/* –newer 10/15/2023/
在进行“差分备份”后,如果需要恢复数据,应该是先恢复完全备份,再将最近的一次更新备份覆盖完全备份
直接备份数据库就行了。
在后台都有禅旅基备份选项的,备份到本地。
要连网站程序一起备份的话,可以用FTP软件将整贺谨个网站下载镇斗到本地。
备份分为两部分,轮乎网页、数据库。
1.用ftp软件雹升备份网页文件及设置
2.用系统提供的数据库管理软件,备份数源桐老据库。
关于linux定时备份7天的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联——四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,高电服务器托管,算力服务器租用,可选线路电信、移动、联通机房等。
分享名称:轻松实现!7天不间断的Linux定时备份技巧(linux定时备份7天)
URL网址:http://www.mswzjz.cn/qtweb/news41/266241.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能