Skip to content

Debian Cron

约 427 字大约 1 分钟

debian

2024-04-16

crontab常规命令

crontab -l #查看任务

crontab -e #编辑任务


#### 分钟、小时、日期、月份 星期
# */10 * * * * 每十分钟
# * * */10 * * 每十天
####


journalctl -u cron.service #调试

文档: crontab(1) — Debian bullseye — Debian Manpages

每三天执行异一次

root@moss:/var/log# crontab -l
* * */3 * * find /opt -maxdepth 3 -type f -name 'docker*.yml' -exec cp --parents {} /opt/clouddrive/Cloud/CloudDrive/Aliyun/HelloWorld/ \;

#输出执行时间到末尾
(date '+%Y-%m-%d %H:%M:%S'; find /opt -maxdepth 3 -type f -name 'docker*.yml' -exec cp --parents {} /opt/clouddrive/Cloud/CloudDrive/Aliyun/HelloWorld/ \;) >> /tmp/cron.log 2>&1

开机启动脚本

1: 创建你的脚本

确保脚本已经写好并且具备执行权限。/usr/local/bin/my-startup-script.sh

#!/bin/bash
# my-startup-script.sh

echo "启动脚本正在运行" >> /var/log/my-startup.log

给予脚本执行权限:

sudo chmod +x /usr/local/bin/my-startup-script.sh

2: 编辑 crontab

在打开的crontab编辑器中,添加以下行crontab -e

@reboot /usr/local/bin/my-startup-script.sh

这行命令的意思是,每次系统启动时执行/usr/local/bin/my-startup-script.sh

可以通过运行 crontab -l 查看当前用户的 crontab 设置

注意事项

  1. 环境变量:在 cron 环境中运行的脚本可能不会加载所有的环境变量,所以如果你的脚本依赖于特定的环境变量,你可能需要在脚本中显式地设置它们。
  2. 路径问题:确保在脚本中使用完整的路径,因为 cron 的默认路径可能与你的交互式 shell 环境不同。
  3. 日志记录:为了调试和记录目的,确保你的脚本有适当的输出和错误日志记录。

使用 crontab 的 @reboot 是一个简单有效的方法来执行开机脚本,特别是对于不需要复杂依赖关系的任务。