crontab 执行脚本***.sh 方法

时间:2022-03-17 09:10:19

编写linux脚本文件 如 ***.sh

程式必须以下面的行开始(必须方在文档的第一行):
#!/bin/sh
符号#!用来告诉系统他后面的参数是用来执行该文档的程式。在这个例子中我们使用/bin/sh来执行程式。
当编辑好脚本时,假如要执行该脚本,还必须使其可执行。
要使脚本可执行:
编译 chmod +x filename 这样才能用./filename 来运行

2. 如果查询crontab日志文件 

日 志 文 件 说 明 
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 
/var/log/secure 与安全相关的日志信息 
/var/log/maillog 与邮件相关的日志信息 
/var/log/cron 与定时任务相关的日志信息 
/var/log/spooler 与UUCP和news设备相关的日志信息 
/var/log/boot.log 守护进程启动和停止相关的日志消息 

3.脚本不能在crontab执行的原因
执行的文件路径不是绝对路径
脚本中未把环境变量导入
4.脚本中的 后台输出重定向 &
当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。
该命令的一般形式为:
命令&
在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:
command >out.file 2>&1 &
如:run.sh
#!/bin/sh
cd /home/wangyun/update_bond/
./update_daemon > ./nohup.out 2>&1 &
在上面的例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做nohup.out 的文件中。
当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。