cron

Linux 作业和进程

元气小坏坏 提交于 2020-11-01 18:23:55
一、处理信号 Linux利用信号与运行在系统中的进程进行通信,进程的信号就是预定义好的一个消息,进程能识别它并决定是忽略还是做出反应。进程如何处理信号是由开发人员通过编程来决定的,大多数编写完善的程序都能接收和处理标准Unix进程信号。Linux进程信号如下: 信号 名称 描述 1 SIGHUP 挂起进程 2 SIGINT 终止进程 3 SIGQUIT 停止进程 9 SIGKILL 无条件终止进程 15 SIGTERM 尽可能终止进程 17 SIGSTOP 无条件停止进程,但不是终止进程 18 SIGTSTP 停止或暂停进程,但不终止进程 19 SIGCONT 继续运行停止的进程 ~ 进程和作业的区别: 区别 :进程是一个程序在一个数据集上的一次执行,而作业是用户提交给系统的一个任务。 关系 :一个作业通常包括几个进程,几个进程共同完成一个任务,即作业。 用户提交作业以后,当作业被调度,系统会为作业创建进程,一个进程无法完成时,系统会为这个进程创建子进程。 1. 生成信号 bash shell允许用键盘上的组合键生成两种基本的Linux信号,在需要停止或暂停失控程序时非常方便。 1. 中断进程 CTRL+C组合键会生成SIGINT信号,并将其发送给当前shell中运行的所有进程。 如图,执行sleep过程中,使用CTRL+C可以中断此sleep命令。 2. 暂停进程

分布式任务调度框架-elastic-job和xxl-job

谁都会走 提交于 2020-11-01 10:06:54
1 、什么是分布式任务调度? 任务调度是指基于给定的时间点,给定的时间间隔或者给定执行次数自动的执行任务。任务调度是是操作系统的重要组成部分,而对于实时的操作系统,任务调度直接影响着操作系统的实时性能。任务调度涉及到多线程并发、运行时间规则定制及解析、线程池的维护等诸多方面的工作。 WEB 服务器在接受请求时,会创建一个新的线程服务。但是资源有限,必须对资源进行控制,首先就是限制服务线程的最大数目,其次考虑以线程池共享服务的线程资源,降低频繁创建、销毁线程的消耗;然后任务调度信息的存储包括运行次数、调度规则以及运行数据等。一个合适的任务调度框架对于项目的整体性能来说显得尤为重要。 2 、常见的任务调度框架有哪些? 我们在实际的开发工作中,或多或少的都会用到任务调度这个功能。常见的分布式任务调度框架有: cronsun 、 Elastic-job 、 saturn 、 lts 、 TBSchedule 、 xxl-job 、 Quartz 等。 在这里我们着重介绍 elastic-job 和 xxl-job 4 、业务场景 当 我们遇到定期任务,比如订单 30 分钟后自动回收 定期执行任务:如每天 0 点做资源稽查; Elastic-job : elastic-Job 是当当开源的一个分布式调度解决方案,由两个相互独立的子项目 Elastic-Job-Lite 和 Elastic

MYSQL锁表问题的解决方法

安稳与你 提交于 2020-10-31 00:51:17
<div id="content"> <p>本文实例讲述了MYSQL锁表问题的解决方法。分享给大家供大家参考,具体如下:</p> <p>很多时候!一不小心就锁表!这里讲解决锁表终极方法!</p> <p><strong>案例一</strong></p> <div class="jb51code"> <pre class="brush:sql;">mysql>show processlist; </pre> </div> <p>参看sql语句<br> </p> <p>一般少的话<br> </p> <div > <pre class="brush:sql;">mysql>kill thread_id; </pre> </div> <p>就可以解决了<br> </p> <p>kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下.<br> </p> <div > <pre class="brush:sql;">#!/bin/bash mysql - u root - e " show processlist " | grep - i " Locked " >> locked_log . txt for line in ` cat locked_log.txt | awk '{print $1 }' ` do echo "

Postman-关于设置

送分小仙女□ 提交于 2020-10-29 20:41:51
用Postman的时候由于没有中文版,所以想设置的完全符合自己的使用习惯不太容易,于是找了下关于设置的使用并转载记录一下,链接:https://www.jianshu.com/p/518ab60ebef7 一、进入设置 在Postman应用程序的标题工具栏中,点击扳手图标,然后选择设置(Settings)打开SETTINGS窗口。您还可以使用键盘快捷键(CMD / CTRL +,)打开设置窗口。 二、常规设置(General Settings) Postman尽量减少必须更改的设置数量,因此我们建立了一些默认设置。但是,考虑到用例的多样性,如果您需要进行调整,那么如下: 1. 在请求中装饰键和值(Trim keys and values in request body) : 如果使用表单数据(form-data )或网址编码(url-encoded)模式将数据发送到服务器,将其切换为ON将导致任何参数被装饰。 2. SSL证书验证(SSL certificate verification) (仅限本机应用程序):防止应用程序在发出请求时检查SSL证书的有效性。详细了解管理客户端证书。 3. 语言检测(Language detection) : 将此设置为JSON将强制JSON呈现,而不管Content-Type标题的响应。 4. XHR超时(ms)

日志服务器rsyslog基本概念

a 夏天 提交于 2020-10-27 18:25:18
syslog服务器可以用做一个网络中的体制监控中心,所有能够通过网络来发送日志的设施(包含了Linux和Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它。通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查看和获取重要的日志消息。 rsyslog作为标准的syslog守护进程,预装在了大多数的Linux发行版中。 在客户端/服务器架构的配置下,rsyslog同时扮演了两种角色: 1. 作为一个syslog服务器,rsyslog可以收集来自其他设施的日志信息; 2. 作为一个syslog客户端,rsyslog可以将其内部的日志信息传输到远程的syslog服务器。 以上是在rsyslog来配置一个中心化的syslog服务器。 syslog标准基础 当通过syslog机制来收集日志时,有3个必须要考虑到的重要事情 设施层级:监听和种类型的进程 严重性(优先) 级别:收集何种级别的日志消息 目标:发送或记录日志消息到何处 设施层级定义了一种用来对内部系统进程进行分类的方法,linux中的一些常见的设施包括: auth:身份验证相关的消息(登录时) cron:进程或应用调度相关的消息 daemon:守护进程相关的消息(内部服务器) kernel:内核相关的消息 mail:内部邮箱服务器相关的消息 syslog

spring可配置定时器

放肆的年华 提交于 2020-10-27 07:14:53
1、初始化配置 package com.zhoulp.timer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * * * @Description 初始化配置 * @author zhoulongpeng * @date 2020年1月14日 下午8:21:13 * */ @Configuration @EnableAsync public class InitConfigurer implements WebMvcConfigurer { @Bean public

ntp时间同步和crond定时任务使用

与世无争的帅哥 提交于 2020-10-26 04:05:17
最近工作中使用ntp和crond程序,记录下使用方法 一、ntp时间同步程序使用笔记 1、确保系统上有ntpd程序,然后配置ntp.conf文件 1)添加server 127.127.1.0 fudge 127.127.1.0 stratum 8 意思是指定服务器为本地,层级为8 2)添加restrict 172.18.0.0 mask 255.255.255.0 modify notrap 意思是给那个网段提供服务 然后启动ntpd 2、用另一台设备进行测试 同样配置ntp.conf 添加 server 172.18.12.75 iburst 配置服务器ip 启动ntpd这样就可以通过ntpd同步时间 3、用ntpdate同步时间(必须关闭ntpd,两者是互斥的),可以用ntpdate 172.18.12.75 同步时间。 root@localhost:/# ntpdate 172.18.12.75 16 Jun 10:03:35 ntpdate[16934]: adjust time server 172.18.12.75 offset 0.009955 sec ntpdate是暴力的同步一次时间,ntpd则是平滑的同步,每隔一段时间通过ntp报文交互来同步服务器的时间到客户端。 二、crond定时执行程序的程序笔记 1、crontab –l 查看定时执行的任务有哪些

基于Flask-APScheduler实现添加动态定时任务

拈花ヽ惹草 提交于 2020-10-24 17:13:30
阅读目录 一、apSheduler 二、Flask-APScheduler 三、动态定时任务 四、uwsgi部署注意事项 一、apSheduler 第一部分内容限于apSheduler3.0以下版本,以上版本可移步至 FastAPI+apSheduler动态定时任务 1. 引子(Introduction) Advanced Python Scheduler (APScheduler) 是一个轻量级但功能强大的进程内任务调度器,允许您调度函数(或任何其他python可调用文件)在您选择的时间执行。 2. 特性(Features) 没有(硬)外部依赖性 api线程安全 支持CPython、Jython、PyPy 可配置的调度机制(触发器): 类似cron调度 单次运行延迟调度(如UNIX“at”命令) 基于时间间隔(以指定的时间间隔运行) 支持多种存储空间 RAM 基于文件的简单数据库 SQLAlchem MongoDB Redis 3. 使用(Usage) 3.1 安装 pip install apscheduler 3.2 启动调度程序 from apscheduler.scheduler import Scheduler sched = Scheduler() sched.start() 3.3 调度job 3.3.1 简单日期调度job 在指定时间执行一次job

苍了个天,记一次Linux(被黑客)入侵......

大憨熊 提交于 2020-10-24 13:53:24
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 来源丨网络安全编程与黑客程序员 https://mp.weixin.qq.com/s/LPMoORacJyDYtE74-zrF1w 0x00 背景 周一早上刚到办公室,就听到同事说有一台服务器登陆不上了,我也没放在心上,继续边吃早点,边看币价是不是又跌了。不一会运维的同事也到了,气喘吁吁的说:我们有台服务器被阿里云冻结了,理由:对外恶意发包。我放下酸菜馅的包子,ssh连了一下,被拒绝了,问了下默认的22端口被封了。让运维的同事把端口改了一下,立马连上去,顺便看了一下登录名:root,还有不足8位的小白密码,心里一凉:被黑了! 0x01 查找线索 服务器系统CentOS 6.X,部署了nginx,tomcat,redis等应用,上来先把数据库全备份到本地,然后top命令看了一下,有2个99%的同名进程还在运行,叫gpg-agentd。 来源:Hefe 看雪学院 google了一下gpg,结果是: GPG提供的gpg-agent提供了对SSH协议的支持,这个功能可以大大简化密钥的管理工作。 看起来像是一个很正经的程序嘛,但仔细再看看服务器上的进程后面还跟着一个字母d,伪装的很好,让人想起来windows上各种看起来像svchost

Linux常用命令学习

让人想犯罪 __ 提交于 2020-10-23 19:57:58
1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序 ls -h 以易读大小显示 ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来 实例: (1) 按易读方式按时间反序排序,并显示文件详细信息 ls -lhrt (2) 按大小反序显示文件详细信息 ls -lrS (3)列出当前目录中所有以“t”开头的目录的详细内容 ls -l t* (4) 列出文件绝对路径(不包含隐藏文件) ls | sed "s:^:`pwd`/:" (5) 列出文件绝对路径(包含隐藏文件) find $pwd -maxdepth 1 | xargs ls -ld 2、cd命令 (changeDirectory),命令语法:cd [目录名]。说明:切换当前目录至dirName 实例: (1)进入要目录 cd / (2)进入"家"目录 cd ~ (3)进入上一次工作路径 cd - (4)把上个命令的参数作为cd参数使用。 cd !$ 3、pwd命令 查看当前工作目录路径 实例: (1)查看当前路径