mysql定时任务

linux定时执行任务

一个人想着一个人 提交于 2020-03-15 04:23:07
(1)Linux下如何定时执行php脚本? (2)Linux下如何设置定时任务? (3)Crontab定时执行程序 核心提示: 键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一种情况,当需要传递参数的时候,可以考虑用linux的curl) 第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include,require_once等命令的PHP文件 * */1 * * * /usr/local/php/bin/php /var/www/html/wwwroot/web/script.php (每一小时执行一次script.php) 注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录 chmod +x script.php 注意:你的script.php文件中一定要在开始处加上: #!/usr/local/php/bin/php -q ,下面是一个完整的script.php文件代码 <?php #!/usr/local/php/bin/php -q session_start(); define( "DB_PASSWORD", "111111" ); // 服务器登陆密码 define( "DB_NAME", "db_shopping" ); // 数据库名称 define( "DB_USER", "root" ); //

windows下备份mysql方案

你。 提交于 2020-03-12 12:27:45
总体思想 定时任务调用备份脚本 1.定时任务, 自行研究 2.脚本 c:\mysql_bak\bin\mysqldump.exe -ugbds -pxxxx gbds --hex-blob>c:\mysql_bak\sql\gbds_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.sql 备注: 对于mysqldump.exe可以使用快捷方式复制到使用目录 来源: oschina 链接: https://my.oschina.net/u/820230/blog/295107

MySQL计划任务(事件调度器)(Event Scheduler)

筅森魡賤 提交于 2020-03-12 01:55:50
http://www.cnblogs.com/c840136/articles/2388512.html https://dev.mysql.com/doc/refman/5.7/en/events-configuration.html MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件、定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能。 要查看当前是否已开启事件调度器,可执行如下SQL: SHOW VARIABLES LIKE 'event_scheduler'; 或 SELECT @@event_scheduler; 或 SHOW PROCESSLIST; 若显示: +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | OFF | +-----------------+-------+ 则可执行 SET GLOBAL event_scheduler = 1; 或 SET GLOBAL event_scheduler = ON; 来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如: mysqld ... -

mysql定时备份

三世轮回 提交于 2020-03-10 13:23:27
1.创建脚本文件: 首先创建一个 bat 文件,如dump.bat,dump的内容是:“C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump” -u root -p123456 datacenter > c:\datacenter.sql 注意:如果 mysqldump.exe 文件路径有空格,则一定要使用""包括 然后双击bat文件,假如运行之后,生成了数据库备份文件,则代表dump.bat文件没有语法错误。 2.添加计划任务: 微软键(键盘上的田字键)+R调出运行窗口,然后输入taskschd.msc启动定时任务设置窗口 在这里插入图片描述 来源: CSDN 作者: Lao_Wu66 链接: https://blog.csdn.net/Lao_Wu66/article/details/104767406

分布式定时任务调度框架实践

心已入冬 提交于 2020-03-09 11:05:36
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/l4vuYpNRjKxQRkRTDhyg2Q 作者:陈王荣 分布式任务调度框架几乎是每个大型应用必备的工具,本文介绍了任务调度框架使用的需求背景和痛点,对业界普遍使用的开源分布式任务调度框架的使用进行了探究实践,并分析了这几种框架的优劣势和对自身业务的思考。 一、业务背景 1.1 为什么需要使用定时任务调度 (1)时间驱动处理场景: 整点发送优惠券,每天更新收益,每天刷新标签数据和人群数据。 (2)批量处理数据: 按月批量统计报表数据,批量更新短信状态,实时性要求不高。 (3)异步执行解耦: 活动状态刷新,异步执行离线查询,与内部逻辑解耦。 1.2 使用需求和痛点 (1)任务执行监控告警能力。 (2)任务可灵活动态配置,无需重启。 (3)业务透明,低耦合,配置精简,开发方便。 (4)易测试。 (5)高可用,无单点故障。 (6)任务不可重复执行,防止逻辑异常。 (7)大任务的分发并行处理能力。 二、开源框架实践与探索 2.1 Java 原生 Timer 和ScheduledExecutorService 2.1.1 Timer使用 Timer缺陷: Timer底层是使用单线程来处理多个Timer任务,这意味着所有任务实际上都是串行执行,前一个任务的延迟会影响到之后的任务的执行。

使用SpringBoot创建定时任务

强颜欢笑 提交于 2020-03-08 14:37:36
阅读目录: 序言 一、静态:基于注解 二、动态:基于接口 三、多线程定时任务 阅读正文: 回到顶部 序言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。 三、基于注解设定多线程定时任务 回到顶部 一、静态:基于注解 基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上一个任务执行时间的影响。 1、创建定时器 使用SpringBoot基于注解来创建定时任务非常简单,只需几行代码便可完成。 代码如下: @Configuration //1.主要用于标记配置类,兼备Component的效果。 @EnableScheduling // 2.开启定时任务 public class SaticScheduleTask { //3.添加定时任务 @Scheduled(cron = "0/5 * * * * ?") //或直接指定时间间隔,例如:5秒 //@Scheduled(fixedRate=5000) private void configureTasks() { System.err.println(

分布式任务调度的解决方案

限于喜欢 提交于 2020-02-26 22:13:33
简介 随着系统规模的发展,定时任务数量日益增多,任务也变得越来越复杂,尤其是在分布式环境下,存在多个业务系统,每个业务系统都有定时任务的需求,如果都在自身系统中调度,一方面增加业务系统的复杂度,另一方面也不方便管理,因此需要有一个任务平台对分散的任务进行统一管理调度,基于目前的情况,任务平台需要支持以下几个方面: 1、任务统一管理,提供图形化界面对任务进行配置和调度。 2、任务并发控制,同一个任务在同一时间只能允许一个执行。 3、任务弹性扩容,可根据繁忙情况动态增减服务器分摊压力,对大任务进行分片处理。 4、任务依赖问题,能够处理任务包含子任务的情况,前一个完成后触发子任务执行。 5、支持多类型的任务,支持Spring Bean、Shell等。 6、任务节点高可用,任务节点异常或者繁忙时能够转移到其他节点执行。 7、调度中心高可用,支持集群部署,避免出现单点故障。 8、执行状态监控,方便查看任务执行状态,异常情况告警,支持多渠道通知。 发展史 定时任务随着技术发展,从单线程调度到多线程调度,从单机部署到集群部署,从独立执行到多任务协同执行。 第一阶段 单线程调度,在Java1.5之前,基于线程的等待(sleep或wait)机制定时执行,需要开发者实现调度逻辑,单个线程(Thread)处理单个任务有些浪费,但是一个线程(Timer)处理多个任务容易因为某个任务繁忙导致其他任务阻塞。

玩转SpringBoot之定时任务详解

淺唱寂寞╮ 提交于 2020-02-09 12:50:23
玩转SpringBoot之定时任务详解 阅读目录: 序言 一、静态:基于注解 二、动态:基于接口 三、多线程定时任务 阅读正文: 回到顶部 序言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。 三、基于注解设定多线程定时任务 回到顶部 一、静态:基于注解 基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上一个任务执行时间的影响。 1、创建定时器 使用SpringBoot基于注解来创建定时任务非常简单,只需几行代码便可完成。 代码如下: @Configuration //1.主要用于标记配置类,兼备Component的效果。 @EnableScheduling // 2.开启定时任务 public class SaticScheduleTask { //3.添加定时任务 @Scheduled(cron = "0/5 * * * * ?") //或直接指定时间间隔,例如:5秒 //@Scheduled(fixedRate=5000) private void configureTasks() { System

Linux 使用crontab定时备份Mysql数据库

走远了吗. 提交于 2020-02-01 03:24:31
项目中数据库的数据是至关重要的!在实际项目中,遇到有客户机房断电导致数据库数据丢失的问题,又因为备份容灾不及时,导致部分数据恢复不了,而刚好这部分丢失的数据对于客户来说又是至关重要的,那么怎么办呢?盲羊补牢,为时晚矣!所以,对应日常数据库的自动备份千万不能马虎!首先想到的是,使用Linux的自动定时任务命令crontab对数据库进行定时备份! 1、 在/home/test创建新脚本文件test_database_backup.sh: [root@win7 /]# cd home/test [root@win7 test]# touch test_database_backup.sh [root@win7 test]# chmod 770 test_database_backup.sh 2、使用VI工具编写test_database_backup.sh备份数据库脚本内容: # Name:test_database_backup.sh # This is a ShellScript For Auto DB Backup and Delete old Backup #备份地址 backupdir=/www/test_backup #备份文件后缀时间 time=_` date +%Y_%m_%d_%H_%M_%S ` #需要备份的数据库名称 db_name=test #mysql 用户名

MySql定时备份脚本

前提是你 提交于 2020-01-22 13:40:54
最近需要对某服务的数据库数据进行备份,因此参考网上教程完成数据库备份脚本. 因为服务的使用频率较低,因此设置定时任务,在每天的中午以及午夜时分进行备份操作. #!/bin/bash # 设置mysql的登录用户名和密码(根据实际情况填写) mysql_user="***" mysql_password="****" mysql_host="localhost" mysql_port="3306" mysql_charset="utf8mb4" # 备份文件存放地址(根据实际情况填写) backup_location=/home/app/***/sql_backup # 是否删除过期数据 expire_backup_delete="ON" expire_days=7 backup_time=`date +%Y%m%d%H%M` backup_dir=$backup_location welcome_msg="Welcome to use MySQL backup tools!" # 判断mysql实例是否正常运行 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l` if [ [$mysql_ps == 0] -o [$mysql