Crontab是一个位于Linux和其余类Unix操作系统中的任务调度程序。它能够在指定的工夫内、周期性地执行指定的命令或脚本。Crontab是由“cron daemon”(cron守护程序)来治理的。
具体来说,您能够应用crontab命令来创立、编辑、删除和列出打算工作。应用crontab您能够:
- 创立周期性执行的工作,如每分钟、每小时、每天、每周等;
- 按指定的工夫执行工作,如在早晨12点、每月的第一天等;
- 列出以后用户下的打算工作列表;
- 编辑、删除、禁用或启用工作。
为了应用crontab,您须要理解其语法和工作形式。在每个用户的帐户中都有一个crontab文件,其默认地位是在/var/spool/cron/下。要创立或编辑一个crontab文件,您能够运行命令“crontab -e”。 它将关上一个新的编辑器窗口,您能够在其中增加或批改工作。
总而言之,crontab是一种十分有用的工具,能够帮忙管理员轻松地治理定期工作,从而进步计算机系统的可靠性和效率。
1written by CHATGPT
问题:服务器资源无限,提交测试nodejs时候会把整个我的项目打包上传,十分的占用空间,所以想用crontab定期清理不须要的我的项目包。
0 0 * * * cd /opt/bob/tools && sh del_tags.sh
每天0点 到"/opt/bob/tools"门路下,执行del_tags.sh脚本
#!/bin/bash # 获取以后工夫 current=$(date +"%Y%m") # 1个月前的工夫 previous=$(date -d '1 months ago' +"%Y%m") # 输入后果 #echo "$current $previous" # 应用find命令查找所有不以指定前缀的文件夹,并通过grep命令排除指定前缀的文件夹 find /opt/release/bak -type d | grep "Release\-" | grep -v "$current" | grep -v "$previous" | xargs -d "\n" rm -rf
脚本含意就是找到所有Release结尾的门路,并且反选最近两个月的文件,删除他们
大部分还是查gpt的
在crontab的定时工作中,可能呈现"2>&1 &"的字样
含意:
在Linux命令行语句中,2>&1 &是两个特殊符号的组合,含意如下:
2>&1:将规范谬误输入2重定向到规范输入1上。即,将程序输入的错误信息和规范输入都发送到同一个输入流中,以便于对立解决和记录。
&:在命令结尾增加&符号能够将该命令放在后盾执行,并立即返回命令行提示符,以便用户持续操作命令行。
- 1 ↩