免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4038 | 回复: 21
打印 上一主题 下一主题

[学习分享] 关于cron计划任务的一个疑问[已解] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-09 10:27 |只看该作者 |倒序浏览
本帖最后由 shui0855 于 2013-09-11 14:04 编辑

ubuntu 13.04 server

用命令 "crontab .crontabs" 添加的定时任务
  1. crontab .crontabs
复制代码
文件.crontabs的内容是:
  1. * * * * * nohup ~/shell/job.sh >/dev/null 2>&1 &
复制代码
job.sh的内容是:
  1. #!/usr/bin/env bash
  2. date >> ~/shell/date.txt
复制代码
用执行任务的账号登陆的情况下,任务正常运行,能够获得正常输出的date.txt日志
但是,退出账号后,不知道任务有没有在运行,却是没有得到输出date.txt日志了

这到底是怎么回事?




问题解决
    是因使用加密主目录选项所致

    我之前测试用的ubuntu系统,在安装的过程中,新建第一个账号的时候选择了加密用户主目录
    刚刚我又重试了下另一种状况,重装个不加密主目录的系统,结果,即便是退出登陆用户定时任务也能够正常运作了

    得出结论,用户目录加密情况下,cron进程无法自动解密得到正确的执行路径,结果用户定时任务执行失败,如果有用户账号登陆的话,用户目录已被解密,cron可以找到正确的任务路径。
    将路径移到其他路径应该也是正常的,这个可以再验证一下。

    同时也实践证实了:
    1、用root去查看账号yxj的主目录,在yxj用用户登陆时,可以看到yxj的主目录的全部文件,约十几个,在没有任何用户登陆时,看到的4个,这表示用户主目录被加密了;
    2、将用户定时任务的脚本搬到/opt/shell下,在没有账号yxj登陆的情况下,也能看到正确的输出日志了


附上当前的脚本,用加密目录账号的:
.crontabs
  1. * * * * * /opt/shell/job.sh >/dev/null 2>&1 &
复制代码
job.sh
  1. #!/bin/bash
  2. date >> /opt/shell/date.txt
复制代码
都放到/opt/shell,打开这目录后添加定时任务
  1. crontab .crontabs
复制代码
非常感谢感谢chenyx的耐心指导

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2013-09-09 10:53 |只看该作者
任务有没有执行,在/var/log/cron日志文件里面会有记录的

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2013-09-09 10:55 |只看该作者
另外,cron是定时任务,你在里面添加nohup到底想实现啥呢?

论坛徽章:
0
4 [报告]
发表于 2013-09-09 12:58 |只看该作者
回复 2# chenyx


    账号登陆的定时任务和账号退出的定时任务,两种情形都没有看到/var/log/cron,没有这个文件或目录

论坛徽章:
0
5 [报告]
发表于 2013-09-09 13:03 |只看该作者
回复 3# chenyx


    nohup的作用是,将正在执行的任务挂起,即时退出账号也不会中断任务
    通常的执行后台任务的时候就是用的这种写法,如果不加nohup,账号退出时进程会被迫终止

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
6 [报告]
发表于 2013-09-09 13:44 |只看该作者
没有必要,cron任务会定时唤醒的,即使账号退出也会执行的

论坛徽章:
0
7 [报告]
发表于 2013-09-09 14:08 |只看该作者
回复 6# chenyx


    试了下去掉nohup的结果,还是和之前一样:账号登录时,定时任务正常输出,账号注销后,任务没有输出

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
8 [报告]
发表于 2013-09-09 14:10 |只看该作者
本帖最后由 chenyx 于 2013-09-09 14:11 编辑

这样,你将nohup去掉,~替换成/home/username...
你的脚本,
#!/usr/bin/env bash

改成
#!/bin/bash

论坛徽章:
0
9 [报告]
发表于 2013-09-09 14:39 |只看该作者
回复 8# chenyx


定时任务改成:
  1. * * * * * /home/yxj/shell/job.sh >/dev/null 2>&1 &
复制代码
job.sh内容改成:
  1. #!/bin/bash

  2. date >> /home/yxj/shell/date.txt
复制代码
实践了一下,结果还是和之前一样:账号登录时,定时任务正常输出;账号注销后,任务没有输出。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
10 [报告]
发表于 2013-09-09 14:41 |只看该作者
那你不用那个.crontab,直接在你的用户登录的情况下,crontab -e编辑任务看看.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP