• Linux自动化工具之crontab (windows需要手动配置相关服务,具体百度)


    //有的shell解释器是/bin/tcsh而不是传统的/bin/bash.而且两者语法有些差异,注意避免.比如设置变量tcsh是set 变量 =`****`
     
    1.crontab是什么,是linux里面自带的一个定时任务可以让我们在某个时间段进行一些操作,无需人工干预。例如:定时发送邮件、自动采集、队列处理、数据备份、定时开灯等等,这只是一部分的举例,我们还可以用于更多的应用。不过在程序员里面通常用来做数据备份用以及定时执行数据操作用。crontab是每个用户都独有的。
     
    2.也用来定时执行可执行文件。
    crontab -l 可以查看当前定时任务执行计划。
    crontab -e 可以编译当前定时任务执行计划。
    crontab -u 【用户名】 后面接上 -l  / -e.查看指定用户的执行计划
     
    cat /var/log/syslog 可以查看crontab执行情况
    service cron [tab自动补齐] 可以看到很多选项
    service cron restart重启
    service cron status查看执行状态
    默认linux都安装了crontab, 也可以sudo apt-get install crontab查看当前crontab是否安装
     
    crontab格式如下:例如:*/2 * * * * xxx 的意思是每两分钟执行一次xxx程序。
    //每天的1-6点每十分钟执行一次
    */10 1-6 * * * echo `date`>>/home/sunny
    
    //每天的凌晨10分追加一次
    10 1 * * * echo `date`>>/home/sunny
    
    //精确到秒需要借助sleep函数,如下:
    * * * * * echo `date`>>/home/sunny
    * * * * * sleep 10;echo `date`>>/home/sunny
    * * * * * sleep 20;echo `date`>>/home/sunny
    * * * * * sleep 30;echo `date`>>/home/sunny
    * * * * * sleep 40;echo `date`>>/home/sunny
    * * * * * sleep 50;echo `date`>>/home/sunny
    重点:
    1.如果程序执行不成功:在crontab -e的界面最上两行输入如下:指定脚本执行shell以及环境变量
    SHELL=/bin/bash
    
    2.如下,加入./etc/profile
    SHELL=/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    
    * * * * * ./etc/profile;/home/wzw/C++/timeget/wzw.sh > 1.txt
    */1 * * * * date > /home/wzw/Desktop/2.txt
    3.如果想直接执行echo hello或者date,那么在crontab添加上述指令后,不能在当前终端查看到任何输出,
    只能重定向输出到某一绝对路径文件中。(crontab 执行任务是在系统里面执行,执行的时候是没有终端的)
     
     
     
  • 相关阅读:
    网络编程学习笔记(二)基于TCP的Socket编程
    网络编程学习笔记(一)网络基础知识
    Java IO学习笔记(五)对象流
    Java IO学习笔记(四)打印流
    Java IO学习笔记(三)转换流、数据流、字节数组流
    Java IO学习笔记(二)缓冲流
    Java IO学习笔记(一)
    服务提供者框架
    超简单——自己搭建ftp服务器
    简单的排序算法实现
  • 原文地址:https://www.cnblogs.com/linux-wang/p/8142846.html
Copyright © 2020-2023  润新知