精华内容
下载资源
问答
  • 业务场景:基于cronolog按日期切割日志之后,会出现某天的日志出现存储很大的情况,用notepad++打开的时候比较慢,查询的时候也比较卡,响应很慢解决方案:通过crontab+shell命令将每天的日志进行监控并按照文件大小...
    业务场景:基于cronolog按日期切割日志之后,会出现某天的日志出现存储很大的情况,用notepad++打开的时候比较慢,查询的时候也比较卡,响应很慢
    
    解决方案:通过crontab+shell命令将每天的日志进行监控并按照文件大小切割tomcat日志,每100M切割
    解决步骤:
    (1)安装crontab:yum install crontabs
    (2)新建autocutcatalina.sh:路径/data/script/autocutcatalina.sh
    (3)写入shell命令:vim /data/script/autocutcatalina.sh 
    (4)shell命令:
    #!/bin/bash
    log_path=/home/apache-tomcat-6.0.47/logs
    d=`date +%Y-%m-%d`
    d4=`date +%H-%M-%S`
    filename=${log_path}/catalina.$d.out  
    filesize=`ls -l $filename | awk '{ print $5 }'`  
    maxsize=$((1024*1024*100))  
    if [ $filesize -ge $maxsize ]  
    then  
        cd ${log_path} && cp catalina.$d.out ${log_path}/catalina.$d.out.${d4}.log
    echo > catalina.$d.out  
    fi
    (5)赋权限:chmod +x /data/script/autocutcatalina.sh
    (6)设置时程表:crontab -e
    (7)输入执行计划:每分钟执行一次
    */1 * * * * /data/script/autocutcatalina.sh
    (8)监控crontab执行日志:tail -f /var/log/cron
    展开全文
  • 需求:在linux服务器用crontab执行shell基本把top命令结果按日期追加到文件。 常见问题:1.直接执行命令可以正常,放到shell脚本里面执行不行。 2.直接执行shell脚本正常输出,放到crontab后不行。 本文列出...

    解决crontab定时输出top不执行办法

    top -n 1不能在 crontab中使用,要加一个参数top -b -n 1

    需求:在linux服务器用crontab执行shell基本把top命令结果按日期追加到文件。

    常见问题:1.直接执行命令可以正常,放到shell脚本里面执行不行。

    2.直接执行shell脚本正常输出,放到crontab后不行。

    本文列出crontab和直接执行命令的差别、shell定义环境变量、linux获取当前日期、crontab每分钟执行一次、实时监控是否有输出内容、写入内容和追加内容的区别等相关知识点,并给出自己测试成功的实例和截图。

    工具/原料
    linux
    方法/步骤
    1
    crontab默认是没有环境变量的,也不能直接使用相对路径
    直接在命令行执行 就是在当前的shell环境下执行
    脚本执行的时候 会fork一个子进程 所有操作都在子进程进行
    crontab执行的shell脚本命令要用绝对路径
    例如:/usr/bin/top  -b -d 1 -n 1   >> /usr/mydoc/test.txt
    2
    shell 中变量的定义:linux shell脚本定义变量采用key=value方式,一行一个,字符串用""双引号,读取采用$key的方式。
    例如:NAME="/root/top_"$(date +%Y-%m-%d) 就是定义一个前缀加当前日期的文件名。
    3
    单独top命令不会自动退出,shell脚本必须要能够自动退出才会些数据到文件里面,所以一定要先单独测试会自动退出的带参数的top命令才行。
    例如:输入top -b -d 1 -n 3 >test.txt
    表示:每一秒更新一次,一共记录3次 将进程信息写入test.txt文件中
    需要执行一次就退出改成/usr/bin/top -b -d 1 -n 1 >test.txt
    注:内容写入文件是>,会清空以前的内容的,追加内容是>>
    4
    创建一个toptest.sh脚本,内容为:
    #!/bin/sh
    NAME="/root/top_"$(date +%Y-%m-%d)
    /usr/bin/top  -b -d 1 -n 1   >> $NAME.txt
    给sh脚本执行权限命令:chmod +x toptest.sh
    如下图所示:
    5
    crontab每分钟执行一次的写法:*/1 * * * * /bin/bash /root/sh/toptest.sh
    编辑命令是crontab -e,注意命令前面要加上/bin/bash 。
    生效后用到文件目录下执行:tail -f top_2014-02-19.txt 可以实时监控是否有输出内容。如果没有输出内容说明脚本有问题需要修改,主要是保证top后面的参数正常,效果如图所示:
    END
    注意事项
    crontab默认是没有环境变量的,也不能直接使用相对路径
    单独top命令不会自动退出,shell脚本必须要能够自动退出才会些数据到文件里面
    命令前面要加上/bin/bash

    展开全文
  • crontab执行shell脚本时,不执行mvn命令   脚本执行时,切换了用户su admin,也就是说用admin的权限执行mvn命令   脚本sudo ./build.sh启动时,可以正常运行,但是利用crontab定时跑,就不执行mvn命令   ...

    crontab执行shell脚本时,不执行mvn命令

     

    脚本执行时,切换了用户su admin,也就是说用admin的权限执行mvn命令

     

    脚本sudo ./build.sh启动时,可以正常运行,但是利用crontab定时跑,就不执行mvn命令

     

    原因为:

     

    没有加载admin权限下的mvn以及java的环境变量。

     

    解决方法:

    在脚本中加入以下:

    export MVN_HOME="****"

    export JAVA_HOME="****"

    展开全文
  • crontab 执行shell脚步失败 坑

    千次阅读 2018-01-05 18:00:36
    crontab 执行shell脚步失败 坑

    由于crontab只加载/ect/environment,并不加载/etc/profile和~/.bash_profile



    git 命令放在 /usr/local/bin/ 目录

    而crontab 却在  /sbin:/bin:/usr/sbin:/usr/bin 这几个目录下找,当然运行不了 git 命令了


    可以在执行失败的 命令后面 输出 $? (127 未找到命令)


    添加source ~/.bashrc 解决

    展开全文
  • crontab执行shell脚本

    2018-01-25 18:07:37
    想学习一下crontab命令,想执行脚本修改root密码。 1、先写一个修改密码的脚本,命名为mima.sh; 2、crontab -e编写计划; 3、crontab -l 查询计划,看看时间,快执行了; 4、mail查询结果,执行...
  • 原因分析:crontab执行的时候,就是它总是不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个 脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。 解决方式: a.将shell命令...
  • crontab执行Shell脚本请注意 为什么手动执行 Shell 脚本就没问题,而用 crontab 失败呢? 情景回顾 以 Java 程序为例 写了个监控脚本,如果发现进程挂掉就重新拉起 示例 #!/bin/bash DEMO='/home/demo' DEV='/...
  • crontab执行shell脚本和直接运行的结果不一样今天在写脚本用于检测服务器多个端口的运行状态,写完后直接运行没有问题,但是用crontab做定时执行的时候会导致执行的结果不一样,经过各种调试,终于明白问题的所在,...
  • 1 首先检查crontab服务是否运行 可在crontab -e 中加入 */1 * * * * 123 >test.txt 可查看crontab服务是否启动,如果没有启动,... 可用重定向命令shellfile >> <path>/logerror 2&>1...
  • 今天小编就为大家分享一篇关于Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 1、查看crontab执行历史记录 tail -n 100 -f /var/log/cron 2、添加crontab定时任务 crontab -e 添加定时任务,每天23点0分执行 0 23 * * * /usr/local/mssqlbackup.sh 3、查看crontab定时任务 crontab -l 注:...
  • 查了下资料 如下:在linux上部署项目的时候,我们往往通过一段shell来启动程序,甚至是通过crontab定时任务来定时的调用java程序,但是很奇怪的一个问题就是,比如我写了一个如下的shell脚本: [java] view ...
  • 使用nutch开源的搜索引擎抓取网页信息,通过计划任务crontab执行shell脚本,并将启动信息记录进日志文件,但是每次都会出现乱码,如图所示经过反复测试,排除了java程序问题,文件权限问题,系统字符集的环境变量...
  • shell 命令crontab

    2019-03-11 20:41:00
    crontabshell命令中的定时任务: crontab -e 进入当前定时任务的vim页面 每行是一个独立的定时脚本,使用和vim的语法部署定时任务 如下图: 脚本执行周期设置 可以用下面的网页做周期的验证: ...
  • 说一下我遇到的问题 shell文件a.sh #!/bin/bash echo "start" ./b.sh shell文件b.sh #!/bin/bash echo "end" ...crontab -e (a.sh和b.sh文件路径/home/) ...手动执行是没问题的,但是使用c...
  • 经排查发现,crontab定时执行shell脚本时,并没有执行golang程序,golang程序执行命令如下: go run main.go 2.问题原因 使用crontab定时执行时,go命令无法被找到。 3.问题解决 go命令使用全路径,进行执行: 方法...
  • 错误原因: crontab设置后python3无法引入(个别情况,详情未探讨) 修改方式: which python3 将python3修改为绝对路径
  • 使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行 入门 # crontab –e 这样可以已编辑模式打开个人的crontab配置文件,然后...
  • 最近遇到了一个问题就是在终端中手动运行shell脚本成功但是在crontab中就会运行失败,检查之后,发现有两个主要原因 1.环境变量设置不对,cron默认使用的环境变量是PATH=/usr/bin:/bin 2.使用的shell不一样,cron...
  • Linux Crontab执行hadoop命令脚本失败

    千次阅读 2016-07-01 21:06:24
    crontab调度hadoop命令脚本,需要添加source /etc/profile 或者 source ~/.base_profile
  • 需要特别注环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在crontab文件中指定任务运行所需...
  • 最近用crontab 调用一个shell 脚本,并且shell脚本里面调用一个...但是部署以后 直接sh test.sh 脚本运行没有问题,但是放到crontab中死活就是不运行 在此记录下原因原因一:shell脚本中调用了一个命令 ip addr...
  • 一、我们常常碰到在shell执行某个命令能够成功,比如执行一个java程序: java -jar /home/opscoder/topo-audit.jar,但是在crontab执行会失败。 cornjob为 0 10 * * * java -jar /home/opscoder/topo-audit....
  • Ubuntu crontab定时执行shell脚本

    千次阅读 2018-10-31 11:21:00
    Ubuntu crontab定时执行shell脚本 最近打算让服务器定时的编译项目源码,及时产生二进制文件。写好了编译脚本后,就需要用到crontab设置定时任务。 Crontab与Cron 使用crontab命令来配置cron进程。cron进程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,465
精华内容 15,786
关键字:

crontab执行shell命令