Linux定时

Linux定时任务
    at 命令
        设置时间 at 9:22
        进入at命令行,设置需要在9:22执行的命令
             mkdir -p /a/bb/20180603
        保存退出
            ctrl+d
    
    
    crontab
        启动crontab服务
            service crond start
            chkconfig crond on
        编辑定时任务
            crontab -e
        删除定时任务
            crontab -d
        *       *       *       *       *       command
       分钟   小时        日        月        周        需要执行的脚本(绝对路径)
取值   0~59   0~23       1~31        1~12    0~7(0和7表示的都是周日)

    特殊字符
        每隔半小时执行一次
        频率: /
        */30  *            *        *        *        command
        连续时间:-
        早上8:00~18:00之间,每隔半小时执行一次
        */30  8-18        *        *        *        command
        间断时间:,
        早上8:00和18:00执行一次
        *  8,18        *        *        *        command
        
    eg:
    每天上午10:00执行
        0      10        *        *        *        sh  /mkdir.sh
        0       0        *        *        3
### 如何在Linux中设置定时任务 Cron #### 定义与功能 Cron 是 Unix 和 Linux 系统中的一个基于时间的任务调度程序。它能够按照预设的时间表定期执行某些任务,从而实现系统的自动化管理[^2]。 #### 配置方法 要配置定时任务,可以使用 `crontab` 命令来编辑当前用户的定时任务列表。以下是具体的操作方式: 1. **打开 crontab 编辑器** 使用以下命令进入 crontab 的编辑模式: ```bash crontab -e ``` 这一命令会调用默认的文本编辑器(通常是 vi 或 nano),以便用户输入新的定时任务条目[^1]。 2. **编写定时任务表达式** 每一条定时任务都需要遵循固定的格式,其结构如下所示: ``` 分钟 小时 日 月 星期 要执行的命令 ``` 各字段的具体含义为: - 分钟 (0-59) - 小时 (0-23) - 日 (1-31) - 月 (1-12) - 星期 (0-7, 其中 0 和 7 表示星期日) 示例:假设需要每天凌晨两点运行某个脚本 `/home/user/script.sh`,可以在 crontab 文件中添加以下内容: ```bash 0 2 * * * /home/user/script.sh ``` 3. **保存并退出** 当完成编辑后,保存文件并退出编辑器即可。系统会自动加载新配置,并按设定的时间触发相应的任务。 4. **查看已有的定时任务** 若要检查当前用户的定时任务列表,可运行以下命令: ```bash crontab -l ``` #### 特殊关键字支持 除了标准的时间字段外,Cron 还提供了几个特殊的关键字简化常见场景下的任务定义。例如,`@reboot` 关键字可用于指定开机时应执行的任务[^4]。 #### 权限控制 为了安全起见,Linux 提供了两个特殊的配置文件用于管理哪些用户有权创建或修改自己的 cron 作业: - `/etc/cron.allow`: 列出了允许使用 crontab 的用户名单; - `/etc/cron.deny`: 列举被禁止使用的用户。 如果这两个文件均不存在,则只有超级用户才能安排 cron 工作;若仅存在其中一个文件,则依据该文件的内容决定访问权限[^3]。 ```python # Python 示例代码片段演示如何读取cron任务(仅供学习理解原理不可直接应用到实际环境) import subprocess def list_crons(): result = subprocess.run(['crontab', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) if result.returncode != 0: return f"Error occurred: {result.stderr.decode('utf-8')}" else: return result.stdout.decode('utf-8') print(list_crons()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值