linux关于定时执行任务crontab
想定时执行一个shell脚本,这个脚本放在/home/ganlin/ganlin.sh,这个脚本会把执行结果输出到一个日志中crontab里这么写的*****/home/...
想定时执行一个shell脚本,这个脚本放在/home/ganlin/ganlin.sh,这个脚本会把执行结果输出到一个日志中
crontab里这么写的
* * * * * /home/ganlin/ganlin.sh
可是日志里没有输出的东西啊,怎么回事,我这么写有问题吗
日志里有输出,但都是 permission denied 展开
crontab里这么写的
* * * * * /home/ganlin/ganlin.sh
可是日志里没有输出的东西啊,怎么回事,我这么写有问题吗
日志里有输出,但都是 permission denied 展开
展开全部
crontab 需要由root用户部署,“su - " 切换到root;
”crontab -e" 进入crontab 编辑状态;
输入" * * * * * /usr/bin/bash /home/ganlin/ganlin.sh", 这代表每秒执行一次脚本。
部署完成后 输入 ”crontab -l" 查看crontab 中所有部署的内容;
脚本最好不要放在/home目录下,可以在脚本中写入一行标准输出用来在部署完成后测试结果用。
“> /dev/null 2>&1“ 这样写得结果是就看不到标准输出了, /dev/null 代表一个虚拟的设备 把标准输出写到一个不存在的设备中去了。
”crontab -e" 进入crontab 编辑状态;
输入" * * * * * /usr/bin/bash /home/ganlin/ganlin.sh", 这代表每秒执行一次脚本。
部署完成后 输入 ”crontab -l" 查看crontab 中所有部署的内容;
脚本最好不要放在/home目录下,可以在脚本中写入一行标准输出用来在部署完成后测试结果用。
“> /dev/null 2>&1“ 这样写得结果是就看不到标准输出了, /dev/null 代表一个虚拟的设备 把标准输出写到一个不存在的设备中去了。
展开全部
至少得定义多久执行一次啊!你这全是星号,等于没定义执行时间。
追问
* 不是每分钟执行一次嘛亲。。。。。。。。。。。。。。。。。。。。。唉。。。。。
追答
噢,可能是我记错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vi /etc/cron.daily/ganlin并在其中添加如下内容(以root用户操作):
bash /home/ganlin/ganlin.sh > /dev/null 2>&1
bash /home/ganlin/ganlin.sh > /dev/null 2>&1
追问
那我怎么定时执行任务那,就是想让按需求来设置执行时间
追答
你可以修改/etc/anacrontab中的/etc/cron.daily的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
permission denied 明显就是你的.sh有问题!
追问
.sh里这么写的
#!/bin/bash
echo "1231231"
crontab里这么写的
* * * * * /home/ganlin/ganlin.sh>>/home/ganlin/ganlin_log 2>&1
请问这写哪错了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
时间设置一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询