美文网首页
linux自动定时备份文件

linux自动定时备份文件

作者: Mark_ZSQ | 来源:发表于2020-06-06 10:17 被阅读0次

一、 编写脚本(手动启动)

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

1. 创建脚本

命令格式: touch 路径/文件名.sh
例如:
输入命令:

touch /home/backup.sh
20180128143353766.png
2. 写入命令

首先进入脚本:vi命令

vi /home/backup.sh

在脚本内写入:


#!/bin/sh
#创建一个临时文件(要保存备份的路径)
mkdir /home/beifen

#数据存在backups目录下,备份到beifen目录下,所以先将数据拷过来
cp -r /home/backups/balalala /home/beifen

#将数据所在文件夹beifen打包
tar -zcPvf /home/backup$(date +%Y%m%d).tar.gz /home/beifen

#删除临时文件内容
rm -rf /home/beifen/

#删除改文件夹下超过30天的文件
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} ;
20180128144453143.png
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

三.压缩文件

1.将/home/wwwroot/xahot/ 这个目录下所有文件和文件夹打包为当前目录下的xahot.zip
zip –q –r xahot.zip /home/wwwroot/xahot

2.使用mv命令剪切文件。

如需要将/home/wwwroot/sinozzz123/music/目录下的xahot.zip文件剪切到/home/wwwroot/sinozzz123/abc目录下,执行下面的命令即可:

mv /home/wwwroot/sinozzz123/music/xahot.zip /home/wwwroot/sinozzz123/abc

上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录
比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果.

zip –q –r xahot.zip xahot

比如现在我的xahot目录下,我操作的zip压缩命令是

zip –q –r xahot.zip *

四.部署!!

#每周日的1.30执行
30 1 * * 0 nohup bash -x /root/backup/script/sevenBackup.sh
#每天的一点执行
* 1 * * * nohup bash -x /root/backup/script/oneBackup.sh



#一天备份命令:  sevenBackup.sh

#指定文件夹下打压缩包
zip -q -r /default/defaultOne.zip /default
zip -q -r /opt/optOne.zip /opt

#移动压缩包到备份文件夹
mv -f /default/defaultOne.zip /root/backup/localSaveZip/default
mv -f /opt/optOne.zip /root/backup/localSaveZip/opt





#七天备份命令:  oneBackup.sh
 
#指定文件夹下打压缩包
zip -q -r /default/defaultSeven.zip /default/
zip -q -r /opt/optSeven.zip /opt/

#移动压缩包到备份文件夹
mv -f /default/defaultSeven.zip /root/backup/localSaveZip/default
mv -f /opt/optSeven.zip /root/backup/localSaveZip/opt
service crond reload

相关文章

网友评论

      本文标题:linux自动定时备份文件

      本文链接:https://www.haomeiwen.com/subject/pougzhtx.html