前两天写了一个定时从数据库中导出数据的sh脚本,内容见下面。
直接执行该sh脚本是没有问题的,加到后台定时任务中的时候怎么也执行不成功,后来在网上找了问题的原因,现总结如下:
1. crontab任务和当前用户直接执行不一样,后者有配置的环境变量,而前者没有(这也是我遇到的问题的关键之处)
因此需要在脚本中加上数据等环境变量(当然你要懒的话,可以把用户下的所有环境变量一起加进去)。
操作步骤:
1.写sh脚本,记得把环境变量加进去。
export
export命令可以显示出当前用户下所有的环境变量,选择你需要的直接copy到sh脚本中
#start
#create temp table
db <<!
select * into tab_wx_temp from tab_device where status=0
go
!
#delete old file create new file
cd /export/home/userdata/
rm -rf wuxi_all.txt
bcp tab_wx_temp out wuxi_all.txt -Si -Ppasswd -Uuser -c
2.用命令:
crontab -l
查看已经配置的定时任务。把自己写好的脚本加到定时任务中的步骤:
(1)运行
crontab -l > temp
(2)对temp文件进行编辑,追加一行
30 0 * * * sh /home/pp.sh
表示在每天的午夜0:30启动sh /home/pp.sh文件运行,而如下一行
(3)运行
crontab temp
分享到:
相关推荐
本文将介绍如何在Linux和AIX操作系统中使用Crontab任务切换脚本——ha_crontab.sh。Crontab是Unix类系统中用于自动化任务调度的一个强大工具,它允许用户按照预设的时间间隔运行命令或脚本。 1. **Crontab基础** -...
【Linxu、AIX系统下Crontab任务切换脚本】 Crontab是Linux和AIX等类Unix系统中的一个调度工具,用于自动化周期性的任务。在大型系统环境中,可能有多个用户需要运行各自的定时任务,这时就需要一种机制来方便地在...
本项目名为"Go开发的分布式crontab任务管理器",它利用Go语言的优势,结合经典的定时任务表达方式crontab,为开发者提供了一种在分布式环境中执行周期性任务的解决方案。 首先,我们要理解什么是crontab。Crontab是...
三、配置ThinkPHP 5.1的Crontab任务 1. 创建定时任务:首先,在你的ThinkPHP项目中创建一个控制器,比如`CronController`,并在此控制器中定义需要定时执行的方法。 2. 配置路由:在`route.php`文件中,为你的定时...
在Linux系统中,`crontab` 是一个强大的任务调度工具,用于自动化周期性的系统或用户任务。然而,有时我们可能会遇到这样的问题:在终端中能够正常运行的shell脚本(`.sh` 文件),在通过`crontab` 安排时却无法执行...
然而,Spring Boot提供了更简便的方式来支持Crontab任务改造,让我们无需依赖外部系统就能完成定时任务的配置和执行。 1. **Spring Boot中的定时任务支持** Spring Boot集成Quartz或Spring Scheduler可以实现定时...
- `-l`:列出当前用户的crontab任务。 - `-r`:删除当前用户的crontab任务。 - `-v`:查看crontab任务的状态。 - `-u`:用于指定操作的用户,需要具有相应权限(如root)。 3. **创建crontab文件** - 用户...
进入crontab任务编辑界面 任务编写格式 #每分钟执行查看一次/ect目录,把目录内容写进/tml/a.txt下 */ 1 * * * * ll /etc >> /tmp/a.text #crontab对象 +指令 #多个任务同时执行 #crontab对象 指令1&指令2 crontab...
4. **验证安装**:安装完成后,可以使用`crontab -l`命令查看当前用户的crontab任务列表,或者`systemctl status crond`检查crond服务(cron守护进程)的状态。 5. **配置和使用Crontab**:编辑crontab文件,如`...
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。 一般一个用户最多只有一个crontab文件。 二、/...
4. **运行和查看crontab任务**:`crontab -l`命令用于列出当前用户的所有定时任务,而`crontab -r`则会删除所有定时任务。 5. **在MACOSX上安装crontab**:由于MACOSX系统默认不包含`cron`服务,因此需要手动安装。...
当Crontab任务未能按预期执行时,通常可能是由于以下几种情况导致的: 1. **Crontab文件权限问题**:确保Crontab配置文件具有正确的权限。正常的Crontab文件权限通常是600或644。如果权限设置为更宽松的值,如777,...
- **问题2:crontab任务没有执行** - 使用`crontab -l`检查任务是否正确配置。 - 查看日志文件(如`FTPtest.log`),确认有无错误提示。 - 检查环境变量是否正确传递给crontab环境。 通过上述步骤,你可以有效地...
- `crontab`是Linux系统中的一个守护进程(daemon),用于执行计划任务。 - 用户可以使用`crontab`命令来创建、编辑或删除计划任务。 2. **Crontab配置文件**: - 每个用户都有自己的`crontab`文件,通常存储在`...
- `root`用户可以管理所有用户的crontab任务,而普通用户只能编辑和查看自己的任务。 - 使用`crontab -l`列出当前用户的crontab任务。 - 使用`crontab -r`删除当前用户的crontab任务。 - `crontab -u user`允许`root...
- `crontab -l root` 查看root用户的crontab任务列表。 - `crontab -r` 删除当前用户的crontab任务。 **定时任务的设置:** - 若要20分钟执行一次任务,可以写成: ``` 0,20,40 * * * * command ``` - 若要5分钟...
使用`crontab -e`编辑时,`Ctrl+D`会保存并退出编辑模式,而且会替换原有的crontab内容,这是一个需要注意的操作,因为一旦按下`Ctrl+D`,所有旧的crontab任务都将被新内容覆盖。相反,`Ctrl+Z`可以不保存退出,但...
`crontab` 是 Linux 和 Unix 系统中用于定时执行任务的重要工具。通过 `crontab`,用户可以在指定的时间间隔内自动执行脚本或者命令,这对于自动化运维、数据备份等场景非常有用。 #### 二、crontab 命令简介 `...
在Linux/FreeBSD中,你可以通过`crontab -l`查看当前用户的crontab任务,但在Solaris中,没有`-u`参数。要查看特定用户(如root)的任务,你可以使用`crontab -l root`。 2. **编辑crontab任务**: Linux下常用`...
当crontab任务执行出错时,往往是因为路径错误或命令中包含空格但没有被正确引用。在编辑crontab时,建议先用文本编辑器将命令写好,然后再用crontab -e添加进去,以避免因为输入错误导致的问题。 在实际操作中,...