红联Linux门户
Linux帮助

ubuntu10.4中自定义crontab任务不执行

发布时间:2012-01-07 09:07:22来源:红联作者:freebigfish
各位大侠,小弟用crontab -e命令创建了一个任务,如下:
45 0 * * * touch /tmp/tempcon.txt
然后,重启crontab,但是我的任务确不执行,请各位指点!
文章评论

共有 5 条评论

  1. 金钟罩 于 2014-12-24 10:14:19发表:

    linux系统在依赖性方面的确是很强的。

  2. lpp 于 2014-12-17 14:09:26发表:

    同问,查了半天也没解决

  3. enjoy545352 于 2012-01-12 12:56:27发表:

    踩踩,受教了~~~

  4. freebigfish 于 2012-01-09 16:59:45发表:

    首先,感谢okzokz123 的指点。但是,我还是没弄明白如何去查。能不能具体点?

  5. okzokz123 于 2012-01-07 13:17:21发表:

    所有的crontab问题只有两种可能,
    1,环境
    2,路径
    而第二种问题往往又是第一种问题引起的
    1. /etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登 录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
    2. /etc/bashrc 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
    3. ~/.bashrc 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
    4. ~/.bash_profile 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的~/.bashrc文件.
    5. ~/.bash_profile 是交互式 login 方式进入 bash 运行的;
    ~/.bashrc 是交互式 non-login 方式进入 bash 运行的,通常二者设置大致相同,所以通常前者会调用后者。
    6. /etc/profile中设定的变量(全局)的可以作用于任何用户;
    而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
    7. ~/.bash_logout 当每次退出系统(退出bash shell)时,执行该文件.
    8.~/.bash_history 记录曾用过的 bash shell 命令
    为使Bash更好地为我们服务,我们需定制bash shell环境。
    .bash_profile、.bashrc、和.bash_logout
    1. 上面这三个文件是bash shell的用户环境配置文件,位于用户的主目录下。其中.bash_profile是最重要的一个配置文件,它在用户每次登录系统时被读取,里面的所有命令都会被bash执行。.profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。***在Debian中使用.profile文件代替.bash_profile文件。
    2. .bashrc文件会在bash shell调用另一个bash shell时读取,也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。这样可有效分离登录和子shell所需的环境。但一般来说都会在.bash_profile里调用.bashrc脚本以便统一配置用户环境。
    3. .bash_logout在退出shell时被读取。所以我们可把一些清理工作的命令放到这文件中。
    在 /etc目录的bash.bashrc和profile是系统级(全局)的配置文件;
    在用户主目录下的.bash_profile 和.bashrc 是用户环境变量文件。.bash_history是bash shell的历史记录文件,里面记录了你在bash shell中输入的所有命令。可通过HISSIZE环境变量设置在历史记录文件里保存记录的条数。alias 别名=‘commond' 是设置别名的语句,把它放在这些配置文档中就可使我们能用简单的 别名 命令,代替 commond 命令。
    [Note]
    当我们修改了这些配置件后,可用source ~/.bash_profile命令使它修改内容马上生效

    推荐解决方案:

    * * * * * source ~/.bashrc && command >>/dev/null 2>&1
    还有就是用户权限问题即用什么样的用户权限在/tmp里面执行任务的