Linux 定时执行shell脚本_crontab

1、查看任务[[email protected] OracleBackA]$ crontab -l

2、新增任务[[email protected] OracleBackA]$ crontab -e

3、每天14点40执行/backup/OracleBackA/sh.sh 脚本,日志输出到 /backup/OracleBackA/shlog.txt

40 14 * * * /backup/OracleBackA/sh.sh &>> /backup/OracleBackA/shlog.txt

问题

1、/bin/sh: /backup/OracleBackA/sh.sh: Permission denied

shell脚本没有执行权限,chmod 755  sh.sh

2、/backup/OracleBackA/sh.sh: line 59: ctxlc: command not found
/backup/OracleBackA/sh.sh: line 67: sqlplus: command not found
/backup/OracleBackA/sh.sh: line 69: ctxlc: command not found
/backup/OracleBackA/sh.sh: line 71: [: : integer expression expected
/backup/OracleBackA/sh.sh: line 106: sqlplus: command not found
/backup/OracleBackA/sh.sh: line 108: [: : integer expression expected
/backup/OracleBackA/sh.sh: line 136: [: : integer expression expected
/backup/OracleBackA/sh.sh: line 136: [: : integer expression expected

你可能已经注意到上面的例子中,每个命令都给出了绝对路径。当使用c r o n t a b运行s h e l l 
脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n 
提交了这些作业,就要向c r o n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它 
其实并不知道。所以你要保证在s h e l l脚本中提供所有必要的路径和环境变量,除了一些自动 
设置的全局变量。

有两个方法,在shell里export或者复制到/etc/profile里面

第一种解决办法:

查看运行c r o n t a b任务的用户的环境变量:.bash_profile文件  vi /home/oracle/.bash_profile

将export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID  这些路径都复制到shell脚本中,放在shell脚本开头

shell脚本中:

export ORACLE_BASE=/u01/oracle

export  ORACLE_HOME=/u01/oracle/app/12.1.0

第二种解决办法:

将.bash_profile文件中的设置都复制到/etc/profile 文件中,不过要用root用户

时间: 2024-11-02 23:31:55

Linux 定时执行shell脚本_crontab的相关文章

linux 定时执行shell脚本 定时任务

本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任务大致有如下三步: 1.编写shell脚本 2.利用crontab加入到定时任务队列 3.查看作业完成情况 一.如何建立shell脚本 linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序

linux 定时执行shell脚本

转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任务大致有如下三步:

Linux 定时执行shell脚本命令之crontab

crontab可以在指定的时间执行一个shell脚本以及执行一系列Linux命令 例如:服务器管理员定时备份数据库数据.日志等 详解: 常用命令: crontab –e //修改 crontab 文件,如果文件不存在会自动创建. crontab –l //显示 crontab 文件. crontab -r //删除 crontab 文件. crontab -ir //删除 crontab 文件前提醒用户. service crond status //查看crontab服务状态 service

Crontab 让linux定时执行shell脚本

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行   入门 # crontab –e 这样可以已编辑模式打开个人的crontab配置文件,然后加入一下这行: 0 0 * * * /home/linrui/XXXXXXXX.sh 这将会在每天凌晨运行指定的.sh文件 Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-

使用crontab,让linux定时执行shell脚本

阅读目录 1. cron服务[Ubuntu环境] 2. crontab用法 3. 编辑crontab文件 4. 流程举例 5. 几个例子 Linux中,周期执行的任务一般由cron这个守护进程来处理.cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为“crontab”,是“cron table”的简写. 1. cron服务[Ubuntu环境] 查看cron状态 sudo  service cron status 开启cron sudo /etc/ini

Linux中使用crontab命令定时执行shell脚本或其他Linux命令

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * * * /root/bin/backup.sh 这将会在每天早上5点运行 /root/bin/backup.sh Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-pat

Linux中执行shell脚本的4种方法

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/root/bin目录中并已有执行权限(添加权限的方法:chmod +x hello.sh). 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: ./ 的意思是说在当前的工作目录下执行hello.sh.如果不加上

Linux中执行shell脚本

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下 bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限.方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码 代码如下: cd /data/shell./hello.sh ./的意思是说在当前的工作目录下执行hello.s

使用linux客户端执行shell脚本创建数据库初始化数据库中文乱码问题

定义了一个shell脚本,可以根据其他的多个sql文件创建数据库,并且使用包含初始化数据的sql文件初始化数据库. 在windows下使用linux客户端连接到linux服务器,执行shell脚本后,发现创建出的数据库有中文乱码. 确定是字符集设置问题.查看数据库,发现字符集设置如下,很多还是 latin1. mysql> show variables like 'character_set_%';+--------------------------+---------------------