Linux创建定时任务执行sql

一、创建脚本文件

1、新建.sh、.sql脚本文件;sh用于定时任务执行sql文件,sql用于定时任务执行对数据库增删改查等操作的脚本

    touch crontab.sh
    toucn query.sql

2、添加新建文件的执行权限

    chmod +x crontab.sh
    chmod +x query.sql

二、编辑脚本文件

1、编辑sql脚本

     vi query.sql

键入i,进行编辑

    #sql语句
    select * from 表名

键入ESC,退出编辑
键入:wq!,保存并退出文件

2、编辑sh脚本

   vi crontab.sh

键入i进行编辑

    #!/bin/bash
    #备份地址(用于存放sql执行前对执行表的备份)
    backupdir=/home/crontab/mysqldata
    #备份文件后缀时间(文件名已时间命名便于追溯)
    time=` date +%Y%m%d%H%M`
    #mysqldump命令使用绝对路径(从数据库获取指定的表,存放在指定文件夹内)
    mysqldump -h 数据库地址 -P数据库端口 -u数据库用户名 -p数据库密码 库名 表名 > $backupdir/$time.sql
    #执行sql脚本
    mysql -h 数据库地址-P数据库端口 -u数据库用户名 -p数据库密码 库名 < sql脚本绝对路径/query.sql 

键入ESC,退出编辑
键入:wq!,保存并退出文件

三、创建crontab定时任务

1、进入定时任务器

    crontab -e

2、编辑定时任务

键入i,进行编辑

    01 14 * * * sh 定时任务执行脚本绝对路径/crontab.sh > 定时任务执行的日志需要存放在哪里的绝对路径/log.txt 2>&1

键入ESC,退出编辑
键入:wq!,保存并退出文件

00 14 * * *为定时任务的执行时间,每天14点进行一次脚本的执行,执行后可cd到定时任务执行的日志需要存放在哪里的绝对路径/log.txt,查看执行的日志

定时格式可查看crontab 在线工具:https://tool.lu/crontab/

你可能感兴趣的:(Linux创建定时任务执行sql)