美文网首页
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