crontab设置定时更新数据库

  1. ssh 登陆服务器,切换为有权限的用户比如sudo su azhibo
  2. crontab -l查看所有现有的命令
  3. 使用crontab -e编辑定时任务,定时任务比如:  0 4 * * * /bin/sh /home/azhibo/auto_export_db.sh &> /dev/null
  4. 脚本内容如
    #!/bin/sh
    
    FILE_NAME=dotacai_`date +\%Y\%m\%d`.sql
    ZIP_FILE_NAME=$FILE_NAME.gz
    LOCAL_PATH=/home/azhibo/db_dump
    REMOTE_PATH=/srv/db_dumps/backup
    REMOTE_FILE=$REMOTE_PATH/$ZIP_FILE_NAME
    SOURCE_FILE=$LOCAL_PATH/$FILE_NAME
    
    ssh -t dotacai_db "sudo sh /root/scripts/dump_db_to_backup";
    scp dotacai_db:$REMOTE_FILE $LOCAL_PATH
    
    gunzip $LOCAL_PATH/$ZIP_FILE_NAME
    
    mysql -uroot -p123456 -e "drop database if exists dota2;create database dota2 charset utf8;use dota2;source ${SOURCE_FILE};"
    
    echo  '导入完成'
    
原文地址:https://www.cnblogs.com/wlemory/p/5152906.html