• Linux数据备份


    今天需要用到备份网站,写了个脚本,备份了mysql和redis数据。

    #!/bin/bash
    
    BACKDIR="/home/tan/getll_backup"
    
    if [ ! -d $BACKDIR ]; then
      mkdir $BACKDIR
    fi;
    
    BACKDIR_TMP=$BACKDIR"/backup"
    
    if [ -d $BACKDIR_TMP ]; then
      echo 临时目录存在...
    else
      mkdir $BACKDIR_TMP
      echo 创建临时目录成功...
    fi
    
    SUFFIX=$(date +%y%m%d)
    
    backupFileName=$BACKDIR_TMP/mysql_$SUFFIX.sql
    
    mysqldump -uroot -p0000 GetLL > $backupFileName
    
    echo 备份数据库完成...
    
    # 带属性复制
    cp -a /var/lib/redis/appendonly.aof /var/lib/redis/dump.rdb $BACKDIR_TMP
    echo 备份redis完成...
    
    # 使用tar, 这里最好不要使用绝对路径
    echo 进行打包...
    cd $BACKDIR && tar -czvpf back_$SUFFIX.tar.gz backup/
    
    # 删除临时目录
    rm -r backup
    
    echo 删除临时目录成功
    
    echo 备份完成

    接下来需要做的就是定时执行。

    sudo crontab -e 编辑cron命令, 写入:

    0 6 * * * sh ~/getll_auto_backup.sh >> /var/log/getll/cron.log

    其中 sudo 表示的是使用 root来执行,这时 ~ 表示的是 /root 目录。

    这条命令的意思是每天6点执行  sh ~/getll_auto_backup.sh 这条命令,而把输出重定向到  /var/log/getll/cron.log, 具体的可以谷歌 cron 命令。

  • 相关阅读:
    VMware Workstation 中安装Redhat linux 9.0
    暑假的总结
    [转载]控制理论 VS 股票
    一些股票术语
    28、linux shell常用的几个函数,split
    35、linux shell常用函数,ps
    shell命令wc,md5sum,basename
    linux shell,tr命令
    36、linux shell常用函数,pgrep
    37、linux shell常用函数,top
  • 原文地址:https://www.cnblogs.com/tanhehe/p/4140899.html
Copyright © 2020-2023  润新知