普通用户 crontab 任务不执行

今天发现在linux下,普通用户的crontab任务不执行。网上搜了好多,好多说要在执行的脚本前面加上如下内容

if [ -f ~/.bash_profile ];

then

. ~/.bash_profile

fi

加了之后测试,没有任何作用。不知道是不是只有执行脚本在用户根目录才有作用。

最后发现要在脚本开头加入以下内容才可以

#!/bin/bash

#set -x

source ~/.bash_profile

其中第一行的作用是指明此脚本使用/bin/bash来解释执行。

第二行可以没有

第三行是引入用户环境变量。

还要注意一点就是:脚本要是unix格式而不能是dos格式。

时间: 2024-12-23 07:26:01

普通用户 crontab 任务不执行的相关文章

crontab 任务程序执行乱码的问题

今天碰到一个坑爹的问题,定时用php程序从远程的mssql读取数据,并写入到mysql中,手动用php执行程序的时候,程序运行没有问题,但当用crontab任务定时执行php程序的时候就出问题了,插入mysql数据中文乱码. 刚开始以为是编码的问题,调了mysql的编码,调了linux系统的编码,发现都不行.通过各种搜索才知道,原来手动运行与crontab任务运行的环境是不同的. 环境变量相关配置文件 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行

Linux中使用crontab命令定时执行shell脚本或其他Linux命令

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * * * /root/bin/backup.sh 这将会在每天早上5点运行 /root/bin/backup.sh Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-pat

cookie 用户第一次访问时执行

? 1 <span style="color: rgb(255, 0, 0);"><script type="text/javascript" src="/js/jquery.Cookies.js"></script></span> ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3

如何让linux定时任务crontab按秒执行

如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟 如果想以秒为单位执行,应该如何设置呢? 思路 正常情况是在crontab中直接定义要执行的任务,现在我们在中间添加一个脚本文件 自定义一个脚本文件,循环执行要执行的任务,循环中使用sleep来控制间隔秒数 在crontab中添加一个任务,设置为每分钟都执行这个脚本 就是用crontab控制分钟,用脚本内的循环来控制秒 示例 (1) 定义目标任务 用php写了一个测试任务,向文件中写一个时间信

让history命令显示出执行用户、执行时间、执行用户IP

因为之前遇到过命令审计,找不出某条命令是由哪个用户执行的,所以需要让history命令显示出执行用户.执行时间.执行用户IP,以便追踪. 在/etc/profile文件最后加两行: USER_IP=`who -u -m | awk '{print $NF}'| sed 's/[()]//g'` export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] " 执行命令 source /etc/profile 随便敲几条命令 查看效果 1047

运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)

运维经验分享作为一个专题,目前共7篇文章 <运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本> <运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化> <运维经验分享(三)-- 解决Ubuntu下crontab不能正确执行Shell脚本的问题(一)> <运维经验分享(四)--关于 java进程管理的服务控制脚本编程思路分析> <运维经验分享(五)-- 改进的java进程管

Crontab无法自动执行,直接运行脚本却能执行

Crontab无法自动执行,直接运行脚本却能执行 http://bbs.chinaunix.net/thread-1926428-1-1.html crontab -e crontab内容为* * * * * /root/auto.sh /root/auto.sh的内容为#!/bin/bashping -c 1 192.168.0.1 &>/dev/null && result=0 || result=1 if ["$result"==1];then  

Linux下ACL权限控制以及用sudo设置用户对命令的执行权限

ACL权限分配 1.setfacl命令设置文件权限 setfacl -m u:user1:rw root.txt setfacl -m u:user2:rwx root.txt 2.getfacl命令查看文件权限 getfacl root.txt [[email protected] ~]# getfacl text.txt  # file: text.txt # owner: root # group: root user::rw- user:wangteng:rw- group::r-- m

OpenWRT添加 crontab开机默认执行

[转载请注明出处:钱国正专栏 http://blog.csdn.net/qianguozheng/article/details/37666829] OpenWRT系统默认已经添加了crond,只是没有配置默认配置参数,致使服务起不来. 主要步骤: 1. 修改启动脚本/etc/ini.d/cron /etc/rc.d/S50cron为/etc/ini.d/cron的链接 <span style="font-size:18px;">#!/bin/sh /etc/rc.comm