Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux 自动压缩备份目录文件与恢复

Linux 自动压缩备份目录文件与恢复

原创
作者头像
用户4988085
修改于 2021-07-20 02:25:00
修改于 2021-07-20 02:25:00
2.2K00
代码可运行
举报
文章被收录于专栏:建站知识建站知识
运行总次数:0
代码可运行

首先建立以个空白文档,然后打开编辑成需要的内容,最后保存为*.sh文件

比如我现在Linux 系统 /usr下有个目录soft需要让它每天自动压缩打包到/opt/ftp的目录下,并以当前时间命名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
例:写个shell文件 ,把以下保存为backup.sh,记得要给加上运行的权限

    #!/bin/sh 
    date=`date +"%Y%m%d"` 
    tar -czvf /opt/ftp/soft_$date.tar.gz /usr/soft

定时执行 比如每天早上10点

则修改/etc/crontab文件 加入下面一句(path就是你backup.sh的路径)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
00 10 * * * root /path/backup.sh > /dev/null 2>&1

又比如每天晚上2点1分运行

把下面一句加到/etc/crontab里就可以了 每晚2点1分执行 path就是backup.sh的路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
01 2 * * * root /path/backup.sh > /dev/null 2>&1

如果只想每天只保留一个备份文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    #!/bin/sh 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    tar -czvf /opt/ftp/soft.tar.gz /usr/soft

恢复备份,在预设的情况下,我们可以将压缩档将文件恢复到指定目录!以这个范例来说,

#我先将工作目录变换到想要解压到的目录比如 /usr/local/src 底下,则在命令模式下cd到这个目录,然后在运行tar zxvf /opt/soft.tar.gz,则解开的目录会在 /usr/local/src/etc

还有就是备份指定目录,但要排除目录内的某些文件夹,例子 我现在要备份opt目录,但要排除opt目录下的FTP文件夹

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -czvf /opt/ftp/opt.tar.gz --exclude=/opt/ftp /opt

日期的格式:* * * * *,五个星号分别是,分(0-59) 时(0-23) 天(1-31) 月(1-12) 星期(0-6)0是礼拜天

例子:

00 2 * * * 每天晚上2点运行

01 2 * * * 每天晚上2点1分运行

01 2 29 * * 每个月第29天2点1分运行

01 2 29 10 * 第十个月的第29天2点1分运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
压缩与解压缩要看用什么格式压缩的对应用什么格式解压,比如.gz(有gzip压缩而成),解压方法:gzip -d filename

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Rsync小规模备份
某公司里有一台web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他机器上做一个周期性定时备份。要求如下:
张琳兮
2018/09/10
5930
liunx定时备份mongo数据库并实现自动删除N天前备份
配置定时任务:30 1 * * * /opt/mongobk.sh 每天一点30分备份数据库
JQ实验室
2022/02/10
7090
Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据。 线上数据库备份场景: 每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份. 下面对这种备份方案详细说明下: 1.MySQLdump增量备份配置 执行增量备份的前提条件是MySQL打开binlog日志功能,在my.cnf中加入 log-bin=/opt/Data/MySQL-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于MySQL数据目录的磁盘上。 ---
洗尽了浮华
2018/01/23
5.3K0
MySQL 冷备份操作 + shell 脚本自动备份
tar jcvf data_cold_back.tar.bz2 data 当需要进行冷备份操作时, 只需执行脚本命令即可(操作会覆盖掉之前备份的压缩文件,没啥不利影响)
泥豆芽儿 MT
2022/01/06
3.2K2
MySQL 冷备份操作 + shell 脚本自动备份
自动备份本地文件、数据库到COS中
手里维护了一些小网站,网站跑在一台最低配的轻量应用服务器上,数据库是自建的MySQL。网站虽小,但是备份数据,也是个刚需。主要是MySQL的数据库备份以及一些本地文件的备份。一直想找一个现成的简单、轻量的解决方案,能够把指定目录或者文件定时自动上传到COS里面备份,但却一直没有找到,所以就只好自己动手了。
2022/03/05
2.6K0
Linux下MySQL自动备份、定期删除、恢复
注意:在/etc/my.cnf配置mysqldump就不会提示:Warning: Using a password on the command line interface can be insecure.
JaneYork
2023/10/11
6660
Linux下MySQL自动备份、定期删除、恢复
Linux 下如何实现 MySQL 数据库定时自动备份?
概述:备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的! 备份是什么? 为什么要备份? 容灾方案建设 存储介质 光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN:存储区域网络 云存储 这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可
小小科
2018/05/03
3.2K0
Linux 下如何实现 MySQL 数据库定时自动备份?
mysql实现定时全量备份
参考地址:  https://github.com/wentmac/mysql_backup
仙士可
2020/09/28
1.5K0
服务器自动备份数据
操作系统:CentOS Linux release 7.9.2009 (Core)
小新笔记坊
2024/12/17
3390
Linux系统crond、rsync、打包备份数据操作实战
前面介绍了系统中定时任务、rsync、打包等各种操作,同时也介绍了实际生产环境中的各类案例,今天我们结合这几种功能做一次实战(备份数据)
民工哥
2020/09/16
1.7K0
Linux系统crond、rsync、打包备份数据操作实战
Linux系统下常用的数据备份方法
Linux作为网络操作系统,在服务器方面的应用越来越广泛。作为专门的网络服务器,一个重要功能就是对服务器数据进行备份,以确保数据的安全。本文将介绍在Linux系统下一些常用的数据备份方法。 1、本机上数据的手工备份 Linux系统上配有功能强大的tar命令,可以灵活地备份数据。tar最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。当然,现在我们可以使用tar来备份数据到任何存储介质上。tar非常易于使用稳定可靠,而且在任何 Linux系统上都有这个命令。因此是最经常使用的
企鹅号小编
2018/01/22
5.3K0
linux crontab 每隔10秒执行一次[通俗易懂]
在LINUX中你应该先输入crontab -e,然后就会有个vi编辑界面,再输入0 3 * * 1 /clearigame2内容到里面 :wq 保存退出。
全栈程序员站长
2022/11/01
9.7K0
Linux常用Shell脚本,值得学习及收藏
在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本。如何学好脚本,最关键的是就是大量的练习 和实践。根据以下脚本我们可以拓展,这样我们提高的很快!举一反三!
互扯程序
2018/12/07
3.4K0
[Linux] PHP程序员玩转Linux系列-自动备份与SVN
我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保存,保存最近7天的备份.
唯一Chat
2019/09/10
1.1K0
Linux下实现MYSQL数据库的定时备份
这里使用MYSQL自带的备份命令mysqldump,所以首先保证你的服务器正确安装了MySQL数据库,然后配置了如下MySQL环境变量。
小明互联网技术分享社区
2023/11/19
1.5K0
Linux下实现MYSQL数据库的定时备份
crontab 详细用法 定时任务
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
用户1289394
2021/05/31
1.5K0
linux下用tar进行数据备份
豌豆贴心提醒,本文阅读时间7分钟 本机上数据的手工备份 Linux系统上配有功能强大的tar命令,可以灵活地备份数据。 tar最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。 当然,现在我们可以使用tar来备份数据到任何存储介质上。 tar非常易于使用稳定可靠,而且在任何 Linux系统上都有这个命令。因此是最经常使用的备份工具。 1.使用tar命令备份数据的格式如下: 上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。
小小科
2018/05/03
2.7K0
linux下用tar进行数据备份
记录Linux定时备份Mysql数据库文件,详细的图文教程,限小白大佬绕行
宝塔面板的功能越来越多这也导致了部分用户放弃了宝塔改成原汁原味的linux,虽说操作上不太方便但是主打一个清净,今天就记录下另外一台云服务器定时备份mysql数据库文件的相关图文教程,因为我也很少接触linux系统,都是面板形式的,所以找了些资料总归是实现目前想要的结果,当然了操作仅限我们这些小白们,大佬请绕行,好了不废话了,开始折腾:
李洋博客
2024/03/13
1K0
记录Linux定时备份Mysql数据库文件,详细的图文教程,限小白大佬绕行
linux下自动备份脚本并上传到ftp服务器
#!/bin/bash #设置日志文件,前提建好了/backup/log目录 LogFile=/backup/log/`date +"%Y-%m"`.log #备份源目录 SourceDir=/cvs #备份目标 BakDir=/backup #保存20天过期自动删除 RetainDay=20 #备份的内容可以写进project.lst,如cvs目录下有a,b,c三个目录,project.lst填写多少就备份多少,下面是备份的 #具体脚本,其核心是tar打包,并把重要的内容记录到日志文件里 ProjectLst=/backup/project.lst ################################################## DATE=`date +"%Y-%m-%d"` echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile echo "--------------------------------------------------" >>$LogFile cd $BakDir PROJECTLIST=`cat $ProjectLst` for Project in $PROJECTLIST do  ProjectData=$SourceDir/$Project  DestDir=$BakDir/$Project  PackFile=$DATE.$Project.tgz  if [ -f $BakDir/$PackFile ]  then   echo "backup file have exist !" >>$LogFile  else   cp -RHpf $ProjectData $DestDir >/dev/null   tar -zcvf $PackFile $Project >/dev/null   echo "backup $Project done into $PackFile" >>$LogFile   rm -rf $Project  fi done echo "--------------------------------------------------" >>$LogFile echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile echo " " >> $LogFile ################################################## #下面的内容就是把刚才备份的内容传到服务器上,前提是你有一个可以访问到底FTP服务器 #put backup to ftp server HOST=192.168.110.111 FTP_USERNAME=ftpuser FTP_PASSWORD=123456 cd  $BakDir echo "start open ftp serverat $(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile echo "--------------------------------------------------" >>$LogFile /usr/bin/ftp -in <<EOF open $HOST user $FTP_USERNAME $FTP_PASSWORD put $DATE.$Project.tgz bye EOF echo "put ftp end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile #最后上传完毕后再查看本地备份大于20天的自动删除,这样就可以实现本地异地双备份 find $Bakdir -type f -mtime +$RetainDay -name "*.$Project.tgz" -exec rm {} \; >/dev/null exit 0 #最后我们还可用crontab做个周期性计划,比如每周一次全备份 #59 23 * *  6  /home/backup.sh
三杯水Plus
2018/11/14
2.7K0
Linux实现MySQL数据库数据自动备份,并定期删除以前备份文件
虽说还没到正式工作坏境中,但是看到前几天顺丰快递的删库事件,emmm...打算弄个脚本实现MySQL自动备份,好歹省心点,从网上查了教程,亲身试验有效后,做个教程,以飨读者!
浩Coding
2019/07/02
2.5K0
Linux实现MySQL数据库数据自动备份,并定期删除以前备份文件
推荐阅读
相关推荐
Rsync小规模备份
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档