zoukankan      html  css  js  c++  java
  • crontab中的%

    crontab中的%是换行的意思,在使用时需要使用做转义。

    -----------------

    在用crontab执行一段定时任务时,想要把数据输出到一个日期命名的文件中

    1 * * * * *  cd /home/data/youtubeApi && /bin/php /home/data/youtubeApi/channelSections.php  &> /home/data/youtubeChannelData/channel.2.`date +%Y%m%d`

    预期每天会产出

    channel.2.20190807

    channel.2.20190808

    channel.2.20190809

    这样的文件,但是命令并没有正常执行起来

    我是通过 mail 命令和 cat /var/spool/mail/data 这两个命令去查看的问题,错误信息中有可以很清楚看到 %Y%m%d 这样的日期格式信息丢失了

    在网上找到两个相关的文章,说到了crontab中的%为换行的意思,所以做了转义,可以正常运行了。

    # 不正确的写法
    1 * * * * *  cd /home/data/youtubeApi && /bin/php /home/data/youtubeApi/channelSections.php  &> /home/data/youtubeChannelData/channel.2.`date +%Y%m%d`
    
    # 正确的处理方式,注意转义 %
    1 * * * * *  cd /home/data/youtubeApi && /bin/php /home/data/youtubeApi/channelSections.php  &> /home/data/youtubeChannelData/channel.2.`date +\%Y\%m\%d`

    参考的文章:

    1. crontab注意%

    2. Linux crontab命令详解

  • 相关阅读:
    sqlsever中生成GUID的方法
    部署项目到服务器
    读后感
    第二次作业
    课堂作业
    第一次作业 开发环境配置介绍
    第二次结对作业
    代码审查
    最大连续子数组和
    单元测试
  • 原文地址:https://www.cnblogs.com/gromit409/p/11325880.html
Copyright © 2011-2022 走看看