触发器

zabbix自定义监控项、添加图形、设置触发器、远程执行命令

喜你入骨 提交于 2020-02-12 17:34:58
文章转载自:https://www.cnblogs.com/xiami-xm/p/8929163.html 监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item;也可直接在host中定义 目标:自定义监控项检查/tmp/aa文件是否存在,并设置触发器,实现邮件报警 其实zabbix自带监控项vfs.file.exists可以检查文件是否存在,本文主要为了说明怎么自定义监控项,所以不使用自带的。 vfs.file.exists[file] 检查文件是否存在。返回 0 - 未找到文件;1 - 常规文件或链接(软/硬)存在 1. 开启自定义用户参数 # vim /usr/local/zabbix/conf/zabbix_agentd.conf UnsafeUserParameters=1 2. 在配置文件中添加UserParameter   #UserParameter的格式:UserParameter=<key>,<shell command><br><br>UserParameter=file.exist[*],ls /tmp/$1 >/dev/null 2>&1;echo $? #0表示存在,>0表不存在<br><br>#带参数UserParameter的格式:<key[*]>

APScheduler

老子叫甜甜 提交于 2020-02-12 07:20:48
1 简介 APScheduler 的全称是 Advanced Python Scheduler 。它是一个轻量级的 Python 定时任务调度框架。 APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令 。同时,它还支持异步执行、后台执行调度任务。 2 安装 使用 pip 包管理工具安装 APScheduler 是最方便快捷的。 pip install APScheduler # 如果出现因下载失败导致安装不上的情况,建议使用代理 pip --proxy http://代理ip:端口 install APScheduler 3 使用步骤 APScheduler 使用起来还算是比较简单。运行一个调度任务只需要以下三部曲。 新建一个 schedulers (调度器) 。 添加一个调度任务(job stores)。 运行调度任务。 下面是执行每 2 秒报时的简单示例代码: import datetime import time from apscheduler.schedulers.background import BackgroundScheduler def timedTask(): print(datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3

APScheduler(Python化的Cron)使用总结 定时任务

可紊 提交于 2020-02-12 07:19:26
APScheduler(Python化的Cron)使用总结 简介 APScheduler全程为Advanced Python Scheduler,是一款轻量级的Python任务调度框架。它允许你像Cron那样安排定期执行的任务,并且支持Python函数或任意可调用的对象。官方文档: https://apscheduler.readthedocs.io/en/latest/userguide.html#basic-concepts APScheduler安装 方法一:使用pip安装 $ pip install apscheduler 方法二:如果pip不起作用,可以从pypi上下载最新的源码包( https://pypi.python.org/pypi/APScheduler/ )进行安装: $ python setup.py install APScheduler组件 triggers(触发器): 触发器中包含调度逻辑,每个作业都由自己的触发器来决定下次运行时间。除了他们自己初始配置意外,触发器完全是无状态的。 job stores(作业存储器):存储被调度的作业,默认的作业存储器只是简单地把作业保存在内存中,其他的作业存储器则是将作业保存在数据库中。当作业被保存到一个持久化的作业存储器中的时候,该作业的数据会被序列化,并在加载时被反序列化。作业存储器不能共享调度器。

MySQL触发器的使用

雨燕双飞 提交于 2020-02-11 16:31:46
概述: 当具体的表发生特定的数据库事件时,触发器执行对应的SQL命令。 语法: 创建触发器的一般命令如下: CREATE [temp|temporary] trigger name [before|after] [insert|delete|update|update of columns] ON table action 触发器的使用: 创建: mysql> CREATE TRIGGER stu_trigger AFTER INSERT -> ON students -> FOR EACH ROW -> INSERT INTO info(stu_id, info) values (new.id, ''); Query OK, 0 rows affected (0.07 sec) 触发事件: mysql> INSERT INTO students(id, name, age) values (4, 'Zeus', 56400); Query OK, 1 row affected (0.00 sec) 验证students表结果: mysql> SELECT * FROM students; +------+----------------+--------+ | id | name | age | +------+----------------+--------+ | 1 |

MYSQL数据库学习----索引和触发器

强颜欢笑 提交于 2020-02-11 16:29:14
一:索引 索引是创建在数据库表上,其作用是提高对表中数据的查询速度。 假设数据库中有一张1000条记录的表格,如果没有创建索引的话,用户想通过查询条件查询,实际上是把整个数据库中1000条记录都读取一遍,满足查询条件的就加入结果集中,这样效率很低,如果表中创建了针对查询条件字段的索引,查询的时候会立即找到满足条件的记录加入结果集,不需要遍历过程,这样大大提高了数据库查询效率。 创建索引虽然提高了数据库表格的查询效率,但是也增加了数据库维护速度,因为索引需要占用物理空间,其次每次用户插入,更改,删除记录的时候都要同步操作索引,这样就造成数据维护速度降低,所以使用索引需要综合考虑索引的优点和缺点。 使用索引的几个建议 1.对经常作为查询条件的字段使用索引 2.如果需要用到索引尽量在整型字段上面使用索引 3.尽量使用唯一性的字段来创建索引 4.限制索引的数目,因为索引是占用物理空间的,并且数据更新需要同步操作索引,所以在索引的数量上面需要综合考虑 5.删除不再使用或者很少使用的索引 6.用户也可以在插入,更改,删除记录的时候先删除掉索引,在操作数据库,然后增加索引来使用 创建索引有几种方法: 1.创建表格的时候创建索引 创建普通索引 INDEX(字段名); 任意字段都可以 创建唯一索引 UNIQUE INDEX 索引名称(字段名); 唯一性字段可以

索引与触发器

百般思念 提交于 2020-02-11 16:19:28
1》索引的含义和特点:     索引是什么,索引相当于字典里面的目录序表,比如查询一个“星”字,如果不按照拼音来找的话,那么我们需要把整个字典全部遍历查询一边。才能查到这个字, 如果按照拼音来找的,那么只需要在几页音序表中查询。就可以通过音序就快速查到,这个字在字典的哪一页。在数据库中,索引是建立在表上面的,索引可以很大程 度上提高数据库的查询,同时也提高了数据库的性能,不同的存储引擎定义了索引的最大长度和索引的数量,所有的存储引擎对每个表最少支持16个索引,索引的长度 最少支持位256字节;   索引优点:     其优点可以提高数据的检索速度,针对于有依赖关系的子表和父表,在联合查询的时候可以提高查询速度。   索引的缺点:     创建和维护索引需要消耗时间,索引需要占用物理空间,每一个索引都需要占用一定的物理空间,大量的索引会影响插入数据,数据库系统会按照索引进行排 序,这样降低了插入数据的速度;    解决办法:在插入数据时,先临时删除表的索引,然后插入数据,数据插入完成后,再创建索引。 2》索引的分类:   Mysql的索引类型有:普通索引,唯一性索引,全文索引,单列索引、多列索引和空间索引等;   1>普通索引     创建普通索引时,不附加任何限制条件,,这类索引可以创建在任何的数据类型上面,   2>唯一性索引     使用unique参数可以设置唯一索引

开发PL/SQL子程序和包及使用PL/SQL编写触发器、在JDBC中应用Oracle

时间秒杀一切 提交于 2020-02-11 12:12:29
1. 子程序的各个部分: 声明部分、可执行部分、异常处理部分(可选) 2.子程序的分类: A. 过程 - 执行某些操作 a. 创建过程的语法: CREATE [OR REPLACE] PROCEDURE <procedure name> [(<parameter list>)] IS|AS <local variable declaration> BEGIN <executable statements> [EXCEPTION <exception handlers>] END; b. 过程参数的三种模式: IN:用于接受调用程序的值、默认的参数模式 OUT:用于向调用程序返回值 IN OUT:用于接受调用程序的值,并向调用程序返回更新的值 c. 将过程的执行权限授予其他用户: SQL> GRANT EXECUTE ON find_emp TO MARTIN; SQL> GRANT EXECUTE ON swap TO PUBLIC; d. 删除过程:SQL> DROP PROCEDURE find_emp; B. 函数 - 执行操作并返回值 a. 创建函数的语法: CREATE [OR REPLACE] FUNCTION <function name> [(param1,param2)] RETURN <datatype> IS|AS [local declarations]

PL/SQL轻量版(四)——存储函数/存储过程与触发器

眉间皱痕 提交于 2020-02-11 11:56:34
概述   ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为 PL/SQL 子程序,他们是被命名的 PL/SQL 块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。 过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。 一、存储函数    1.创建函数        内嵌函数 CREATE [OR REPLACE] FUNCTION function_name [ (argment [ { IN | IN OUT }] Type, argment [ { IN | OUT | IN OUT } ] Type ] [ AUTHID DEFINER | CURRENT_USER ] RETURN return_type { IS | AS } <类型.变量的说明> BEGIN FUNCTION_body EXCEPTION 其它语句 END; 说明: 1) OR REPLACE 为可选. 有了它, 可以或者创建一个新函数或者替换相同名字的函数, 而不会出现冲突 2) 函数名后面是一个可选的参数列表, 其中包含 IN, OUT 或 IN OUT 标记. 参数之间用逗号隔开. IN 参数 标记表示传递给函数的值在该函数执行中不改变; OUT

PL/SQL 触发器

北城余情 提交于 2020-02-11 11:50:10
PL/SQL 触发器 触发器:触发器是一种特殊的存储过程,他与数据表紧密联系,用于保护表中的数据,当定义了特定类型触发器的基表执行插入、修改或删除表中的数据的操作时,将自动触发触发器中定义的操作,以实现数据的一致性和完整性 触事件发:insert delete update 触发时间: before after instead of 触发变量: old new 针对每一行: for each row 展示错误: show error 先创建一个表: create table stemp( ID number(10) primary key, sname varchar2(20) ); 在插入一条数据的时候 触动 触发器 create or replace trigger tri_insert_stemp after insert on stemp begin dbms_output.put_line('插入了新的数据'); end; 在输出的时候 触动 触发器 create or replace trigger tri_delete_stemp before delete on stemp for each row begin dbms_output.put_line('删除了数据 id='||:old.id||',sname='||:old.sname); end; 日志 触发器

PL/SQL触发器

大兔子大兔子 提交于 2020-02-11 11:48:46
在本章中,我们将讨论和学习PL/SQL中的触发器。 触发器是存储的程序,在发生某些事件时会自动执行或触发。事实上,触发器是为了响应以下任何事件而被执行的 - 数据库操作(DML)语句( DELETE , INSERT 或 UPDATE ) 数据库定义(DDL)语句( CREATE , ALTER 或 DROP )。 数据库操作( SERVERERROR , LOGON , LOGOFF , STARTUP 或 SHUTDOWN )。 可以在事件关联的表,视图,模式或数据库上定义触发器。 使用触发器的好处 触发器可以用于以下目的 - 自动生成一些派生列值 强化参照完整性 事件记录和存储表访问信息 审计 表的同步复制 实施安全授权 防止无效的事务 创建触发器 创建触发器的语法是 - CREATE [OR REPLACE ] TRIGGER trigger_name {BEFORE | AFTER | INSTEAD OF } {INSERT [OR] | UPDATE [OR] | DELETE} [OF col_name] ON table_name [REFERENCING OLD AS o NEW AS n] [FOR EACH ROW] WHEN (condition) DECLARE Declaration-statements BEGIN Executable