今天打算用linux去定时select自己每天上班都要查的数据。但对于linux的定时任务一无所知,so,从零学起:
Linux里面使用crontab命令来执行定时任务。
1,查看当前有哪些定时任务
crontab -l
2,编写新的定时任务。在这里编辑任务的操作模式和 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_profile
sqlplus userid/password@TNS_NAME <<!
select * from tab;
exit;
!
结果报错:
1, .bash_profile: file not found
2, sqlplus :command not found
第一个错误的解决方法是:使用source /home/oracle/.bash_profile,既然你找不到,我就给你个绝对路径。
第二个错误的解决方式和第一个类似,也是使用绝对路径,但还是想不通。既然已经成功source 环境变量了,系统就应该可以成功找到sqlplus的路径了的。
修改后的脚本是
#!/bin/bash
cd /home/oracle
source /home/oracle/.bash_profile
/home/oracle/oracle/product/11.2.0/client/bin/sqlplus userid/password@TNS_NAME <<!
select * from tab;
exit;
!
总结:在脚本里面使用命令最好把命令的绝对路径加上
分享到:
相关推荐
易语言 Crontab 定时任务执行模块 v1.2 支持单位秒 也可做计时器源码。函数列表[td]。函数详情。@vSpear。
Linux目录数据定时备份
Linux crontab定时任务crond服务管理crontab 定时任务设置crontab [选项]选项-e 编辑crontab定时任务-l 查询cront
Ubuntu-使用crontab定时任务详细使用
最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这5个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以...
Linux Crontab 定时任务 命令详解
linux下crontab详解,crontab组成结构,linux下定时备份数据库shell
linuxcrontab定时触发命令.pdf
结合crontab实现数据库定时备份,备份mysql
crontab定时任务服务详解.docx
使用crontab定时任务自动执行爬虫程序.rar
NULL 博文链接:https://caoyaojun1988-163-com.iteye.com/blog/1698192
Unix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本。 许多的php程序员都可以很快完成Web应用的开发,PHP代码的调试也比PERL或C语言...
7天数据库备份sh脚本,crontab定时任务需自行定义
主要介绍了给debian的docker容器添加crontab定时任务的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
crontab定时开启任务&hadoop案例(模拟生成新能源车辆数据)总结
Mysql全量备份与配套恢复脚本,可使用crontab定时自动全量备份