外观
Debian Cron
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.sh2: 编辑 crontab
在打开的crontab编辑器中,添加以下行crontab -e:
@reboot /usr/local/bin/my-startup-script.sh这行命令的意思是,每次系统启动时执行/usr/local/bin/my-startup-script.sh
可以通过运行 crontab -l 查看当前用户的 crontab 设置
注意事项
- 环境变量:在
cron环境中运行的脚本可能不会加载所有的环境变量,所以如果你的脚本依赖于特定的环境变量,你可能需要在脚本中显式地设置它们。 - 路径问题:确保在脚本中使用完整的路径,因为
cron的默认路径可能与你的交互式 shell 环境不同。 - 日志记录:为了调试和记录目的,确保你的脚本有适当的输出和错误日志记录。
使用 crontab 的 @reboot 是一个简单有效的方法来执行开机脚本,特别是对于不需要复杂依赖关系的任务。
