打算用linux去定时select自己每天上班都要查的数据。但对于linux的定时任务一无所知,so,从零学起:Linux里面使用crontab命令来执行定时任务。1,查看当前有哪些定时任务 crontab -l2,编写新的定时任务。在这里编辑任务的操作模式和 vi 一样。 crontab -e,3,保存定时的结果 例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中 30 5 * * * ls >/jp/test 2>&1 注:2>&1 表示执行结果及错误信息。计划任务的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,
格式如下:mi hh dd mm dw command解释: mi 每小时的第几分钟执行该任务 ,取值范围 0~59 hh 每天的第几个小时执行该任务 ,取值范围 0~23 dd 每月的第几天执行该任务 ,取值范围 1~31 mm 每年的第几个月执行该任务 ,取值范围 1~12 dw 每周的第几天执行该任务 ,取值范围 0~6,0表示周日 command 指定要执行的程序举例如下: 5 * * * * ls 指定每小时的第5分钟执行一次ls命令 30 5 * * * ls 指定每天的 5:30 执行ls命令 30 7 8 * * ls 指定每月8号的7:30分执行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令 30 6 * * 0 ls 指定每星期日的6:30执行ls命令 [ 注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。 ] 30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令 [注:“,”用来连接多个不连续的时段 ] 25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令 [注:“-”用来连接连续的时段 ] */15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]简单的了解了crontab的用法后,开始建立第一个定时任务,脚本如下:cd /home/Oracle. .bash_profilesqlplus userid/password@TNS_NAME <<!select * from tab;exit;!结果报错:1, .bash_profile: file not found2, sqlplus :command not found第一个错误的解决方法是:使用source /home/oracle/.bash_profile,既然你找不到,我就给你个绝对路径。第二个错误的解决方式和第一个类似,也是使用绝对路径,但还是想不通。既然已经成功source 环境变量了,系统就应该可以成功找到sqlplus的路径了的。修改后的脚本是#!/bin/bash
cd /home/oraclesource /home/oracle/.bash_profile/home/oracle/oracle/product/11.2.0/client/bin/sqlplus userid/password@TNS_NAME <<!select * from tab;exit;!总结:在脚本里面使用命令最好把命令的绝对路径加上openSUSE下开机自动运行脚本命令的方法Linux 手动整理内存相关资讯 Crontab
- Linux任务管理工具之 Crontab (08月06日)
- Linux定时任务Crontab命令详解 (10/24/2015 08:58:49)
- CentOS下使用yum命令安装计划任务 (10/02/2015 10:04:23)
| - crontab 问题分析 (04月13日)
- Ubuntu下用crontab 部署定时任务 (10/14/2015 09:17:47)
- crontab任务调度健康检测 (09/15/2015 10:00:24)
|
本文评论 查看全部评论 (0)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民
|