Files
.github
.husky
assets
docs
adb.md
adobe-lightroom.md
adobe-photoshop.md
adobe-xd.md
android-studio.md
ansible.md
apt.md
ascii-code.md
aspect-ratio.md
awk.md
bash.md
blender.md
c.md
cargo.md
chmod.md
cmake.md
cmd.md
cocoapods.md
colors-named.md
conan.md
conda.md
cpp.md
cron.md
cs.md
css.md
curl.md
dart.md
django.md
docker.md
dockerfile.md
ejs.md
electron.md
emacs.md
emmet.md
emoji.md
es6.md
expressjs.md
feds.md
ffmpeg.md
find.md
firefox.md
flask.md
flutter.md
gdb.md
git.md
github-actions.md
github.md
gitlab-ci.md
gitlab.md
gmail.md
golang.md
google-chrome.md
graphql.md
grep.md
homebrew.md
html-char.md
html.md
htmx.md
htop.md
http-status-code.md
ini.md
intelli-j-idea.md
iptables.md
iso-639-1.md
java.md
javascript.md
jest.md
jq.md
jquery.md
json.md
julia.md
justfile.md
koajs.md
kotlin.md
kubernetes.md
laravel.md
latex.md
lerna.md
lessjs.md
linux-command.md
lsof.md
lua.md
make.md
markdown.md
matlab.md
mime.md
mitmproxy.md
mongodb.md
mysql.md
nestjs.md
netcat.md
netstat.md
nextjs.md
nginx.md
npm.md
openssl.md
oracle.md
package.json.md
pacman.md
php.md
pm2.md
postgres.md
ps.md
pycharm.md
python.md
pytorch.md
quickreference.md
react-native.md
react.md
reactrouter.md
redis.md
regex.md
resolutions.md
ruby.md
rust.md
sass.md
scala.md
screen.md
sed.md
semver.md
sketch.md
ssh.md
styled-components.md
stylus.md
sublime-text.md
subversion.md
swift.md
swiftui.md
symbol-code.md
sysdig.md
systemd.md
tailwindcss.md
tar.md
taskset.md
tmux.md
toml.md
typescript.md
vim.md
vscode.md
vue.md
vue2.md
webstorm.md
xcode.md
xpath.md
yaml.md
yarn.md
yum.md
zip.md
.dockerignore
.editorconfig
.gitattributes
.gitignore
.lintstagedrc
.markdownlint.json
.npmrc
.prettierignore
.prettierrc
.refsrc.json
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
package.json
renovate.json
reference/docs/cron.md
2022-11-15 21:22:45 +08:00

4.5 KiB
Raw Blame History

Cron 备忘清单

Cron 最适合安排重复性任务。 可以使用关联的 at 实用程序来完成一次性任务的调度。

Crontab 格式

格式

Min  Hour Day  Mon  Weekday
分钟  小时  天   月   周

*    *    *    *    *   <要执行的命令>
┬    ┬    ┬    ┬    ┬
│    │    │    │    └─  星期几         (0=周日 .. 6=星期六)
│    │    │    └──────  月            (1..12)
│    │    └───────────  月份中的某天    (1..31)
│    └────────────────  小时           (0..23)
└─────────────────────  分钟           (0..59)

字段 范围 特殊字符
分钟 Minute 0 - 59 , - * /
小时 Hour 0 - 23 , - * /
月份中的某天 1 - 31 , - * ? / L W
月 Month 1 - 12 , - * /
星期几 0 - 6 , - * ? / L #
年 Year 19702099 , -

示例

Example Description
*/15 * * * * 每 15 分钟
0 * * * * 每隔一小时
0 */2 * * * 每 2 小时
15 2 * * * 每天凌晨 2 点 15 分
15 2 * * ? 每天凌晨 2 点 15 分
10 9 * * 5 每周五上午 9:10
0 0 * * 0 每个星期日的午夜
15 2 * * 1L 每月最后一个星期一凌晨 2 点 15 分
15 0 * * 4#2 每个月的第二个星期四早上 00:15
0 0 0 1 * * 每个月的 1 日(每月)
0 0 0 1 1 * 每年 1 月 1 日(每年)
@reboot 每次重启 (非标准)

特殊字符串

特殊字符串 意义
@reboot 运行一次,在系统启动时 (非标准)
@yearly 每年运行一次“0 0 1 1 *” (非标准)
@annually (与@yearly 相同)(非标准)
@monthly 每月运行一次“0 0 1 * *” (非标准)
@weekly 每周运行一次“0 0 * * 0” (非标准)
@daily 每天运行一次“0 0 * * *” (非标准)
@midnight (与@daily 相同)(非标准)
@hourly 每小时运行一次“0 * * * *” (非标准)

Crontab 命令

- -
crontab -e 如果不存在,则编辑或创建一个 crontab 文件
crontab -l 显示 crontab 文件
crontab -r 删除 crontab 文件
crontab -v 显示您上次编辑 crontab 文件的时间 (非标准)

轻松添加任务

echo "@reboot echo hi" \| crontab

特殊字符

特殊字符 说明
星号(*) 匹配字段中的所有值或任何可能的值。
横杆(-) 用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五
斜线 (/) 第一个字段(分钟)/15 表示每十五分钟或范围的增量。
逗号(,) 用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行
L 仅允许用于 月份中的某天星期几 字段,星期几 中的 2L 表示每个月的最后一个星期二
井号 (#) 仅允许用于 星期几 字段,后面必须在 1 到 5 的范围内。例如,4#1 表示给定月份的“第一个星期四”。
问号(?) 可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 月份中的某天星期几

另见