• 数据定时备份


    1.创建备份目录

    cd /home
    mkdir backup
    cd backup
    

    2.创建备份shell脚本

    vim bkDatabaseName.sh
    
    输入并粘贴以下内容(注意把以下命令中的DatabaseName改为实际数据库名称):
    (1)不压缩:
    #!/bin/bash
    mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
    (2)压缩:
    #!/bin/bash
    mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz 
    
    注意:
    A.把username改为实际数据库用户名
    B.把password改为实际数据库密码
    C.把DatabaseName改为实际备份的数据库名称
    例子:
    (1)
    #!/bin/bash
    mysqldump -uroot -p'root' ry-vue > /home/backup/ry-vue_$(date +%Y%m%d_%H%M%S).sql
    (2)
    #!/bin/bash
    mysqldump -uroot -p'root' ry-vue | gzip > /home/backup/ry-vue_$(date +%Y%m%d_%H%M%S).sql.gz
    

    3.修改shell脚本可执行权限

    chmod 777 bkDatabaseName.sh
    

    4.测试shell脚本

    ./bkDatabaseName.sh
    

    5.添加定时任务(每日凌晨31分整)

    crontab -e
    并写入:
    1 3 * * * /home/backup/bkDatabaseName.sh
    

     注意:如果/home/backup/bkDatabaseName.sh脚本有docker exec命令不要加-it参数,否则定时任务执行失败,因为 -it 参数就开启了一个终端,计划任务是无法进入任何终端的

    6.测试定时任务

    执行几次ls命令查看备份目录是否有文件创建;如果任务执行失败,查看以下日志:

    tailf /var/log/cron

    7.删除3天前的备份(/home/backup/delete.sh)

    (1)不压缩
    #!/bin/bash	
    find /home/backup/ -mtime +3 -name "*.sql" | xargs -i mv {} /home/backup/recycle/;
    find /home/recycle/ -name "*.sql" -exec rm -rf {} ;
    #find /home/backup/ -maxdepth 1 -type f -mtime +3 -name "*.sql" |xargs rm -rf
    
    (2)压缩
    #!/bin/bash
    find /home/backup/ -mtime +3 -name "*.sql.gz" | xargs -i mv {} /home/backup/recycle/;
    find /home/recycle/ -name "*.sql.gz" -exec rm -rf {} ;
    #find /home/backup/ -maxdepth 1 -type f -mtime +3 -name "*.sql.gz" |xargs rm -rf
    
    (3)定时任务(每日凌晨3点30分整)
    crontab -e 
    并写入:
    30 3 * * * /home/backup/delete.sh
    
  • 相关阅读:
    MRC下多个对象的内存管理
    MacOS安装flutter(MacOS下flutter环境配置)
    swift 简化使用UserDefaults,UserDefaults使用优化
    swift中多继承的实现
    iOS blowfish加密解密
    *** Assertion failure in void UIViewReportBrokenSuperviewChain(UIView *__strong, UIView *__strong, BOOL)()
    iOS建立自己cocoaPods库
    iOS关于UISwitch按钮值的改变无法监听到的问题
    iOS 11 UICollectionView顶部出现白色间隔的问题
    iOS 对UIAlertController内的输入框进行输入监听,实时改变确定、取消按钮颜色
  • 原文地址:https://www.cnblogs.com/konglingxi/p/14735248.html
Copyright © 2020-2023  润新知