• 请不要在回答技术问题时复制粘贴 AI 生成的内容
AnjingJingan
V2EX  ›  程序员

centos 定时任务执行脚本,输出到文件的内容会自动省略

  •  
  •   AnjingJingan · Jun 16, 2022 · 1816 views
    This topic created in 1452 days ago, the information mentioned may be changed or developed.

    手动执行脚本,在脚本里面输出变量到文件正常

    但是换成 crontab 调度执行,脚本输出到文件的内容会自动省略一些

    代码

    IN=`echo "$LINE" | tr -s ' '`
    PID=`echo $IN | cut -d ' ' -f1 `
    CMD="`echo $IN | cut -d ' ' -f12 ` ` echo $IN | cut -d ' ' -f13` ` echo $IN | cut -d ' ' -f14`"
    CPU=`echo $IN | cut -d ' ' -f9 `
    MEM=`echo $IN | cut -d ' ' -f10 `
    
    echo "${PID}|${CMD}|${CPU}|${MEM}" >> /tmp/push-top-tmp.log
    

    手动执行文件结果:

    ./push-top.sh
    

    XH6LlR.png


    crontab 调度执行的结果:

    * * * * * /push-top.sh
    

    XH6zTO.png


    在脚本里面加过 source /etc/profile ,无效

    在定时任务前加过 source /etc/profile && /push-top.sh ,无效


    一模一样的脚本,都是用 root 账户执行,为什么 crontab 执行后面的参数都掉了?

    7 replies    2022-06-16 21:31:26 +08:00
    FrankAdler
        1
    FrankAdler  
       Jun 16, 2022 via iPhone
    执行频率调高点试试
    littlefan
        2
    littlefan  
       Jun 16, 2022   ❤️ 1
    脚本前增加一条 COLUMNS=9999 即可,指定控制台宽度
    AnjingJingan
        3
    AnjingJingan  
    OP
       Jun 16, 2022
    @FrankAdler 执行频率已经是最高了,每分钟执行一次
    AnjingJingan
        4
    AnjingJingan  
    OP
       Jun 16, 2022
    @littlefan 好像不行啊,一样的,不只是定时任务
    除了手动执行,其他方式自动执行输出到日志都不全
    littlefan
        5
    littlefan  
       Jun 16, 2022
    @AnjingJingan crontab 配置成这样:
    * * * * * COLUMNS=9999 push-top.sh
    AnjingJingan
        7
    AnjingJingan  
    OP
       Jun 16, 2022
    @littlefan 可行,问题解决了,感谢老哥
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4998 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 09:43 · PVG 17:43 · LAX 02:43 · JFK 05:43
    ♥ Do have faith in what you're doing.