Ubuntu系统下crontab的使用

最近一个项目,需要用到一个定时任务,先说crontab的常用命令。

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务

接下来我的调试过程

(1)编辑加入自己的命令

crontab -e  //编辑某个用户的cron服务

*/1 * * * * /usr/bin/php   /var/send.php   每分钟都执行一次

send.php

编辑如下

<?php
    echo ‘this is a work‘;
?>

没有出现运行结果,于是乎,就去查看日志,结果在/var/log下没有发现 cron.log文件,这我就纳闷了,why?

经过研究发现原来日志服务器rsyslog没有开启对crontab的支持,接下来进入/etc/rsyslog.d/

cd /etc/rsyslog.d/
ls
20-ufw.conf  50-default.conf //会有连个文件vim 50-default.conf 编辑如下:

找到 cron.* 所在行

#  Default rules for rsyslog.
#
#            For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*            /var/log/auth.log
*.*;auth,authpriv.none        -/var/log/syslog
cron.*                /var/log/cron.log
#daemon.*            -/var/log/daemon.log
kern.*                -/var/log/kern.log
#lpr.*                -/var/log/lpr.log
mail.*                -/var/log/mail.log
#user.*                -/var/log/user.log

去掉前面的#。ok,接下来 使用命令cron restart重启,啊哟,报错了,

cron: can’t lock /var/run/crond.pid, otherpid may be

解决方案:

rm /var/run/crond.pidps -A | grep cronkill 进程ID

然后继续 cron restart,Ok了,但是还没还结果,现在我们可以看看日志啦。

tail /var/log/cron.log

发现错误如下:

 (CRON) info (No MTA installed, discarding output)

出错原因:

报错的主要原因是没有配置邮件服务器.

有两个原因会导致这个错误发生:

 1,当你执行命令是shell脚本时

  解决方案:在每条命令后面加上:

  >/dev/null 2>&1

 2,当你向窗口输出时,因为内容的输出是cron通过邮件发送的

  解决方案:将输出内容导入一个文件 >> /tmp/test.txt

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Monaco; color: #f4f4f4; background-color: rgba(0, 0, 0, 0.85) }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Monaco; color: #f4f4f4; background-color: rgba(0, 0, 0, 0.85) }
span.s1 { }

时间: 2024-10-16 12:03:16

Ubuntu系统下crontab的使用的相关文章

ubuntu系统下使用rm命令删除文件

一 ubuntu系统下使用rm命令删除文件,如何恢复? 如果是ext3/ext4文件系统,可以使用extundelete工具恢复. $ df -hT 文件系统       类型      容量  已用  可用 已用% 挂载点 /dev/sda1    ext4      455G  366G   66G   85% / 参考文章: 1. http://longgeek.com/2012/11/25/extundelete-recovery-for-linux-ext2-ext3-ext4-rm-

Ubuntu系统下的Mysql安装与使用

摘要 在本篇博文中,笔者将从基础出发,介绍Mysql在Linux环境下的安装和基本使用命令,仅适用于Mysql初学者,大牛请绕道-- 安装Mysql数据库 这里介绍最最简单的安装方式,至于编译安装,可以下载安装包, ./configure 生成Makefile,然后 make clean,  make , make test,  make install  我想这些命令应该很基本了吧,这里不再敖述. 1. 安装命令 [email protected]:~$ sudo apt-get instal

Ubuntu系统下创建python数据挖掘虚拟环境

虚拟环境: 虚拟环境是用于创建独立的python环境,允许我们使用不同的python模块和版本,而不混淆. 让我们了解一下产品研发过程中虚拟环境的必要性,在python项目中,显然经常要使用不同的python库(包装器)来完成工作,但结局并不总是圆满的,大部分时候,我们会面临着诸如python应用无法在新的机器(操作系统)上运行的环境问题,这是新机器上Python库的依赖问题导致的.为了更好的理解,设想在开发python应用的过程当中,我们使用了python pandas(python的数据分析

Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法

在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题:1. 安装jdk我下载的jdk是bin格式的,直接运行解压,得到一个文件夹.这个文件夹作为jdk的安装目录,可以拷贝到任意目录.然后配置环境变量~/.bashrc,在最后添加:export JAVA_HOME=<jdk install dir>export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH重启机器.2. 安装eclipse直接

Ubuntu系统下OpenDaylight源码编译安装

操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注明出处及本文链接 一.环境搭建 1. Java+Apache Maven基本开发环境搭建.详见相应的前面两篇文档: <Linux Ubuntu系统下Java开发环境搭建> <Linux Ubuntu系统下Apache Maven的安装和配置> 2. 安装用来获取OpenDaylight

linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)

linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开的文件里 export ANDROID_HOME=/home/jason/Develop_SDK/android-sdk-linux_86 export PATH=$PATH:$ANDROID_HOME/tools 最新的SDK要改为:$PATH:$ANDROID_HOMOE/platform-tools 注意:“/home/jason/Develop_SDK

ubuntu系统下smokping网络监控工具安装配置详解

系统:ubuntu 12.04 1.安装工具及依赖包 sudo apt-get install smokeping curl libauthen-radius-perl libnet-ldap-perl libnet-dns-perl libio-socket-ssl-perl libnet-telnet-perl libsocket6-perl libio-socket-inet6-perl apache2 2.直接启动: [email protected]:/etc/smokeping$ s

Ubuntu系统下允许Apache的mod_rewrite功能

首先,使能apache的rewirte模块,在shell里输入下边的命令: sudo a2enmod rewrite 然后重启一下webserver使更改生效 sudo service apache2 restart 通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里.但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置.从安全性考虑,根目录的AllowOverri

ubuntu系统下,gsl 库链接问题 -undefined reference to `cblas_xxx`

今天在ubuntu系统下进行程序调试的时候出现以下错误信息: [ 10%] Linking CXX executable ../test_coco /usr/local/lib/libgsl.so: undefined reference to `cblas_ztrsv' /usr/local/lib/libgsl.so: undefined reference to `cblas_scasum' /usr/local/lib/libgsl.so: undefined reference to