cron

egg学习笔记第十五天:eggjs定时任务

不羁的心 提交于 2020-04-19 06:37:22
一、啥是定时任务? 可以让我们定时的去执行一些操作。比如定时的检测网站是否被篡改,定时的更新缓存,定时的爬取数据等。 官网上对定时任务的一些介绍: https://eggjs.org/zh-cn/basics/schedule.html ①定时任务的第一种写法: app>新建schedule(固定写法)文件夹,在新建watchfile.js(名字随便起),键入以下内容: const Subscription = require("egg").Subscription; class WatchFile extends Subscription { // 通过schedule属性开设置定时任务的执行间隔等配置 static get schedule() { return { interval: "2s", type: "all" // 指定所有的worker(进程)都需要执行 }; } async subscribe() { // 定时任务执行的操作 console.log(new Date()); } } module.exports = WatchFile; 以上可知程序运行后,每隔2s会打印一个当前时间: ②定时任务的第二种写法:键入如下代码,可知当程序运行,两个定时任务都会执行。 var k = 0; module.exports = { schedule: {

Linux 查看定时器Crontab日志

时间秒杀一切 提交于 2020-04-19 03:34:47
tail -f /var/log/cron Apr 17 18:23:01 xyz CROND[5843]: (root) CMDOUT (/bin/sh: line 0: cd: /home/wwwroot/default/jpsx/tortoise/Public: No such file or directory) 通过日志,能够快速定位问题! 查看cron是否开启! # service crond status Redirecting to /bin/systemctl status crond.service ● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since 五 2020-04-17 18:12:47 CST; 12min ago Main PID: 3814 (crond) CGroup: /system.slice/crond.service └─3814 /usr/sbin/crond -n 重启 # service crond restart Redirecting to /bin/systemctl

Running cron job at only specific date and time

拟墨画扇 提交于 2020-04-17 22:50:44
问题 In our express js application have a feature in admin module that he can send mail to users at specific dates (he can able to select a specific date and time). Say if the date and time is 2018-02-22@12.00 we need to run the email code at that time. I think this package will full fill our needs https://www.npmjs.com/package/node-schedule, Here is their documentation * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────

Running cron job at only specific date and time

为君一笑 提交于 2020-04-17 22:40:51
问题 In our express js application have a feature in admin module that he can send mail to users at specific dates (he can able to select a specific date and time). Say if the date and time is 2018-02-22@12.00 we need to run the email code at that time. I think this package will full fill our needs https://www.npmjs.com/package/node-schedule, Here is their documentation * * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────

APScheduler轻量级定时任务框架

自古美人都是妖i 提交于 2020-04-13 11:01:33
【今日推荐】:为什么一到面试就懵逼!>>> 目录 一、APScheduler简介 支持的后端存储作业 集成的Python框架 二、APScheduler下载安装 三、APScheduler组件 各组件简介 调度器 作业存储器 执行器 触发器 四、使用 添加任务 指定时间执行任务,只执行一次 间隔时间执行任务 一、APScheduler简介 APScheduler (Advanced Python Scheduler)是一个轻量级的Python定时任务调度框架(Python库)。 APScheduler有三个内置的调度系统,其中包括: cron式调度(可选开始/结束时间) 基于间隔的执行(以偶数间隔运行作业,也可以选择开始/结束时间) 一次性延迟执行任务(在指定的日期/时间内运行作业一次) 支持的后端存储作业 APScheduler可以任意混合和匹配调度系统和作业存储的后端,其中支持后端存储作业包括: Memory SQLAlchemy MongoDB Redis RethinkDB ZooKeeper 集成的Python框架 APScheduler内继承了几个常见的Python框架: asyncio gevent tornado qt 二、APScheduler下载安装 使用pip安装: pip install apscheduler pip install apscheduler

从简单实现mysql自动化备份说起

梦想与她 提交于 2020-04-12 10:50:26
从简单实现mysql自动化备份说起 场景 随着云技术的发展,很多公司的产品、应用都已经在云上部署了、云服务器也提供了越来越多的专业性的服务器。例如云服务器 ECS 、数据库 RDS 、对象存储等等。如果使用了专业性服务器,有些自动化的备份操作就直接由平台实现,但是很多的小公司、或者个人有些应用部署、数据库部署都放在一台 ECS 上,像这种情况下,数据库的备份就不能依赖于平台了,只能自己通过脚本进行备份。linux 系统和 winserver 都提供脚本以及定时任务的功能,能够支持自动化备份数据库。 解决办法 以 linux 上的 mysql 为例 手续编写备份脚本。 mysqldump -uname -p****** databasename > /databak/fileName.sql 编写完 mysql 的备份脚本,需要手动测试一遍,看看脚本是否可行,如果可行,则可以进入下一步。然后可能需要设置一下备份的文件名、然后是否需要删除多日之前的备份等。 以下是个完整的例子,当然还能够继续完善,你可以根据自己的要求设置自己的规则。比如压缩、存储路径等等。 echo "===备份开始===" mysqldump -uname -p****** databasename | gzip > /databak/filename_$(date +%Y%m%d_%H%M%S).sql.gz

DevOps常用工具网址

纵饮孤独 提交于 2020-04-12 09:19:54
Linux基础和命令: shell语法查询: http://www.linux6.com https://www.tutorialspoint.com/linux_admin/index.htm 正则表达式: http://www.regexr.com/ cron测试: http://cron.schlitt.info/ git学习: https://git-scm.com/book/zh/v2 SQL命令查询: http://www.tutorialspoint.com/sql/sql-operators.htm javascript/css/html 学习: https://www.w3school.com.cn/index.html Json在线格式化: 图片大小调整: https://www.sojson.com/ 万能编程3剑客: google Stackoverflow GitHub 来源: oschina 链接: https://my.oschina.net/u/4339032/blog/3230529

基于Quartz编写一个可复用的分布式调度任务管理WebUI组件

不打扰是莪最后的温柔 提交于 2020-04-12 07:49:52
前提 创业小团队,无论选择任何方案,都优先考虑节省成本。关于分布式定时调度框架,成熟的候选方案有 XXL-JOB 、 Easy Scheduler 、 Light Task Scheduler 和 Elastic Job 等等,其实这些之前都在生产环境使用过。但是想要搭建高可用的分布式调度平台,这些框架(无论是否去中心化)都需要额外的服务器资源去部署中心调度管理服务实例,甚至有时候还会依赖一些中间件如 Zookeeper 。回想之前花过一段时间看 Quartz 的源码去分析它的线程模型,想到了它可以基于 MySQL ,通过一个不是很推荐的 X 锁方案( SELECT FOR UPDATE 加锁)实现服务集群中单个触发器只有一个节点(加锁成功的那个节点)能够执行,这样子,就能够仅仅依赖于现有的 MySQL 实例资源实现分布式调度任务管理。一般来说,有关系型数据保存需求的业务应用都会有自己的 MySQL 实例,这样子就能几乎零成本引入一个分布式调度管理模块。某个加班的周六下午敲定了初步方案之后,花了几个小时把这个轮子造出来了,效果如下: 方案设计 先说说用到的所有依赖: Uikit :选用的前端的一个轻量级的 UI 框架,主要是考虑到轻量、文档和组件相对齐全。 JQuery :选用 js 框架,原因只有一个:简单。 Freemarker :模板引擎,主观上比 Jsp 和

Linux日志切割方法[Logrotate、python、shell实现方式]

亡梦爱人 提交于 2020-04-11 13:47:04
Linux日志切割方法[Logrotate、python、shell实现方式] ​ 对于Linux系统安全来说,日志文件是极其重要的工具。不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的cron脚本,大家似乎遗忘了Logrotate,争相发明自己的轮子,这真是让人沮丧啊!就好比明明身边躺着现成的性感美女,大家却忙着自娱自乐,罪过!logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。下面就对logrotate日志轮转操作做一梳理记录。 1、什么是轮转? 日志轮循(轮转):日志轮转,切割,备份,归档 2、为什么需要轮转? ☆ 避免日志过大占满/var/log的文件系统 ☆ 方便日志查看 ☆ 将丢弃系统中最旧的日志文件,以节省空间 ☆ 日志轮转的程序是logrotate ☆ logrotate本身不是系统守护进程,它是通过计划任务crond每天执行 3、安装与配置logrotate yum install logrotate -y 3.1、配置文件介绍 Linux系统默认安装logrotate工具,它默认的配置文件在: #/etc/logrotate.conf #/etc/logrotate.d/ logrotate.conf 是主要的配置文件,logrotate.d