使用ECS中的crontab配合RDS for PPAS实现数据库任务管理-阿里云开发者社区

开发者社区> 阿里云数据库> 正文

使用ECS中的crontab配合RDS for PPAS实现数据库任务管理

简介: 使用ECS中的crontab配合RDS for PPAS实现数据库任务管理 由于在RDS for PPAS中使用DBMS_JOB及DBMS_SCHEDULER配置比较复杂,因此在进行Oracle迁移时如果没有大量使用以上两个功能,我们可能通过ECS进行crontab配置实现数据库中的任务管理。

使用ECS中的crontab配合RDS for PPAS实现数据库任务管理

screenshot

由于在RDS for PPAS中使用DBMS_JOB及DBMS_SCHEDULER配置比较复杂,因此在进行Oracle迁移时如果没有大量使用以上两个功能,我们可能通过ECS进行crontab配置实现数据库中的任务管理。

实验环境

操作系统:阿里云ECS,AliLinux 6.x
数据库:阿里云RDS,AliCloudDB RDS for PPAS 9.3

准备工作

在执行脚本时,为避免脚本中要求输入数据库所有者密码,先在root用户的家目录配置一个.pgpass文件,以实现本地无密码登陆

# touch .pgpass
# vim .pgpass
~/.pgpass:
<RDS中的内网DNS地址>:<RDS端口>:<数据库名>:<用户名>:<登陆密码>

需要注意该文件的权限:

# chmod 0600 ~/.pgpass

一个数据库操作脚本rds4ppas_job_demo.sh

/opt/myppas_job/rds4ppas_job_demo.sh的内容:

psql -h <RDS中的内网DNS地址> -p <RDS端口> -U <用户名> <数据库名> -c "
select....
update...
delete...
DECLARE
    ...
BEGIN
    ...
    DBMS_OUTPUT.PUT_LINE(...);
END;
"

赋予执行权限

# chmod 0700 /opt/myppas_job/rds4ppas_job_demo.sh

进行crontab配置

# crontab -e

编辑crontab中的内容

0 * * * *    /opt/myppas_job/rds4ppas_job_demo.sh

以下为crontab对任务定期执行的时间控制说明:

-- 5个控制位代表:分 时 日 月 周 --
每五分钟执行  */5 * * * *
每小时执行     0 * * * *
每天执行        0 0 * * *
每周执行       0 0 * * 0
每月执行        0 0 1 * *
每年执行       0 0 1 1 *

参考资料

  • Linux配置定时,使用 crontab -e 与 直接编辑 /etc/crontab 的区别(https://yq.aliyun.com/articles/1357
  • AliCloudDB RDS for PPAS 是一款高度兼容Oracle的PLSQL、数据类型、高级函数、数据字典的数据库,让开发者原有技术和成果可以快速适配,且提供更具性价比的数据库解决方案。更多信息请参考:https://www.aliyun.com/rds_for_ppas

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云数据库
使用钉钉扫一扫加入圈子
+ 订阅

帮用户承担一切数据库风险,给您何止是安心!

官方博客
链接