AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 516536
Accepted
Matthew Wai
Matthew Wai
Asked: 2019-05-02 03:35:09 +0800 CST2019-05-02 03:35:09 +0800 CST 2019-05-02 03:35:09 +0800 CST

如何使用 Crontab 仅在特定日期在 Linux 启动时打开文件?

  • 772
matthew@matthew-pc:~$ crontab -l 
[...]
@reboot 1 5 * sleep 10s && export DISPLAY=:0 && xdg-open ~/@/Testing.jpg

5 月 1 日 Linux 启动时未打开“Testing.jpg”。
如何使用 Crontab 在特定日期(例如 5 月 2 日)的 Linux 启动时打开文件?

linux-mint cron
  • 1 1 个回答
  • 728 Views

1 个回答

  • Voted
  1. Best Answer
    Seamus
    2019-05-02T10:35:20+08:002019-05-02T10:35:20+08:00

    您不能将时间表与@reboot-cron不支持。

    如果要在特定日期的 Linux 启动时打开文件,请执行以下操作:

    1. 编写一个脚本 (chkdate.sh) 检查日期是否匹配(例如)5 月 2 日

    2. 使用@reboot规范cron运行chkdate.sh

    [编辑:重新chkdate.sh,一个根据特定日期检查今天日期的脚本]:

    您可以编写一个bash脚本来完成此操作。中的date函数bash将返回今天的日期。有了这个,您只需要根据特定日期测试今天的日期,并采取所需的操作。这是解决此问题的一种方法:

    注意:我使用基于 Debian 的 Linux 发行版,所以下面的内容反映了这一点。您的系统可能会有所不同。

    1. 使用date功能:打开一个“终端窗口”,或者只是在系统上获取命令提示符。在命令提示符下($在我的例子中),输入date +%Y-%m-%d:
    $ date +%Y-%m-%d
    2019-05-02
    $
    
    1. 指定date所需的格式:date可以提供多种不同格式的输出。在上面的示例中,格式为“年-月-日”。如果您只对月份和日期感兴趣,那么命令将是date +%m-%d:
    $ date +%m-%d
    05-02
    $
    
    1. 无论您需要何种格式,您都必须学会使用系统文档。要了解如何指示date以您需要的格式提供其输出,您需要阅读其文档:
    $ man date
    ...
    q
    $
    

    请注意,单个字符q将关闭man页面。

    1. 一旦你决定了date输出的格式,你就可以开始编写脚本了chkdate.sh。让我们创建文件,并在易于使用的文本编辑器中打开它:
    $ nano ~/chkdate.sh
    ...
    

    您可以开始输入您的脚本;例如:

    #!/bin/bash
    SOMEDAY="05-02"
    TODAY=`date +%m-%d`
    if [ $TODAY == $SOMEDAY ]
    then 
       echo "Today is the day!"
    else
       echo "Today is NOT the day."
    fi
    

    现在,保存文件^o,然后退出nano编辑器^x。

    1. 您需要设置文件权限以使脚本可执行,然后您可以运行它:
    $ chmod 755 ~/chkdate.sh
    $ ~/chkdate.sh 
    Today is the day!
    $ 
    

    因为今天是 5 月 2日,所以执行语句的then条件( )。在一年中的任何其他日子,该语句将被执行。另请注意,没有必要有条件 - 如果您不需要它,您可以简单地省略它。ifecho "Today is the day!"elseelse

    1. 假设执行此操作,您可以修改脚本以将echo ...命令替换为您要使用的命令。
    • 1

相关问题

  • Cron */6 小时但有偏移量?

  • 如何恢复已删除的 crontab

  • Linux Mint 内核损坏

  • Auto-SSH 手动工作,但不在后台工作

  • Synaptic 包管理器文件设置

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve