Linux下定时备份文件

今天有人让我给写个脚本,说是让Linux定时备份文件数据,并删除超过一定时间的备份。听起来很有意思,一番摸索之后成功了没有呢?(因为是给对linux不太熟的人看,所以比较详细)具体看下面吧:

一、 编写脚本

编写一个脚本文件,使脚本可以执行备份命令。
例如,将文件目录 /home/backups/balalala 备份到/home目录下,并压缩。

1. 创建脚本

命令格式: touch 路径/文件名.sh
例如:
输入命令:touch /home/backup.sh
这里写图片描述

2. 写入命令

首先进入脚本:vi命令
vi /home/backup.sh
在脚本内写入:

#!/bin/sh
mkdir /home/beifen
#创建一个临时文件(要保存备份的路径)
cp -r /home/backups/balalala  /home/beifen
#数据存在backups目录下,备份到beifen目录下,所以先将数据拷过来
tar -zcPvf /home/backup$(date +%Y%m%d).tar.gz /home/beifen
 #将数据所在文件夹beifen打包
rm -rf /home/beifen/
 #删除临时文件内容

find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
#删除改文件夹下超过30天的文件

这里写图片描述

3. 执行脚本文件

直接手动执行脚本文件。
命令格式:sh 路径/文件名.sh
例如:sh /home/backup.sh

二、 设置定时执行本脚本。

例如:设置脚本每7天执行一次。

1. 安装crond

如果没有安装crond服务就先装上服务。
检查服务状态:service crond status

2. 修改crontab内容

输入命令:crontab –e
进入后继续输入命令:0 0 /7 * /home/backup.sh
设置为每7天执行一次脚本文件
然后,保存退出:wq

sh脚本前面五个字段分别表示分钟(0-59)、小时(0-23)、日(1-31)、月(0-12)、星期几(0-6)后面的为脚本所在目录

这里写图片描述

3. 重新启动crond服务

输入命令:service crond restart

至此配置完成!

  • 20
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
### 回答1: Linux定时备份文件可以使用crontab命令来实现。具体步骤如下: 1. 编备份脚本,可以使用tar命令将需要备份的文件打包成一个压缩文件,例如backup.sh。 2. 使用crontab -e命令编辑定时任务,添加一行类似于以下的命令: ``` 2 * * * /bin/bash /path/to/backup.sh ``` 这个命令表示每天凌晨2点执行一次备份脚本。 3. 保存并退出编辑器,crontab会自动将任务添加到系统的定时任务中。 4. 可以使用crontab -l命令查看当前系统的定时任务列表,确认备份任务已经添加成功。 5. 定时备份文件就完成了,每天凌晨2点会自动执行备份脚本,将需要备份的文件打包成压缩文件并保存到指定的目录中。 ### 回答2: 对于Linux系统,定时备份是很重要的一个任务。无论是服务器还是个人电脑,重要数据都需要定期备份,以防数据丢失或受到损失。下面就介绍一下如何在Linux系统中定时备份文件。 1. 确定备份的目录和文件:首先要确定哪些文件需要备份,以及备份到哪个目录下。通常可以备份一些重要的配置文件、数据库和代码文件等。 2. 安装备份软件:Linux系统中常用的备份软件有tar、rsync、dd等,可以根据需要进行选择。其中tar比较简单易用。 3. 创建备份脚本:创建一个备份脚本,将需要备份的文件和目录脚本中,通过crontab来进行定时备份。备份脚本可以借鉴其他人的脚本,也可以自己编。例: ```bash #!/bin/sh # Backup script DATE=`date +%Y-%m-%d` SRC=/home/user/Backup DST=/mnt/backup tar -cvpzf $DST/backup-$DATE.tar.gz $SRC ``` 上述备份脚本将/home/user/Backup目录下的所有文件备份到/mnt/backup目录下,并以日期为文件名进行命名。其中-cvpzf指令用于创建归档文件。 4. 设置crontab定时备份:通过crontab工具来设置备份的定时任务。在终端输入crontab -e命令,编辑定时任务。设置备份每天凌晨2点备份一次,输入以下命令即可。 ```bash 0 2 * * * /usr/bin/sh /home/user/backup.sh ``` 上述命令中,0代表分钟,2代表小时,代表在每天凌晨2点进行备份操作。/usr/bin/sh是备份脚本的执行路径,/home/user/backup.sh是备份脚本的路径。 至此,Linux定时备份文件的操作就完成了。备份文件时一定要注意文件目录的正确,以及备份后文件是否正确。同时,还需要保证备份数据的安全存储。备份数据是非常重要的,务必要随时注意定时备份。 ### 回答3: Linux系统可以通过crontab命令定时备份文件,crontab命令是Linux系统定时任务的命令。crontab命令可以设置定时任务的触发时间、频率和执行的命令,用户可以通过crontab命令进行设置。 添加定时任务可以使用crontab -e命令进入编辑模式,然后在编辑器中输入要执行的命令和设置触发时间。例如,用户可以设置每天午夜备份当前目录下的文件到指定的目录中,命令如下: 0 0 * * * tar -czvf /backup/$(date +%Y%m%d).tar.gz . 上述命令表示在每天0点0分执行备份命令,并将备份的文件以当前日期作为文件名保存在/backup目录下。 在上述命令中,0 0 * * * 表示每天0点0分,tar命令表示使用tar命令进行备份,-czvf选项表示将备份文件进行压缩,并显示操作过程,/backup/$(date +%Y%m%d).tar.gz表示备份文件保存的路径和文件名,最后一个点表示备份当前目录下的所有文件。 还可以使用crontab -l命令查看当前用户设置的所有定时任务。 总之,通过使用crontab命令,用户可以设置Linux系统定时备份文件,避免数据丢失和损坏的风险,确保数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值