Crontab是一个位于Linux和其他类Unix操作系统中的任务调度程序。它可以在指定的时间内、周期性地执行指定的命令或脚本。Crontab是由“cron daemon”(cron守护程序)来管理的。
具体来说,您可以使用crontab命令来创建、编辑、删除和列出计划任务。使用crontab您可以:
- 创建周期性执行的任务,如每分钟、每小时、每天、每周等;
- 按指定的时间执行任务,如在晚上12点、每月的第一天等;
- 列出当前用户下的计划任务列表;
- 编辑、删除、禁用或启用任务。
为了使用crontab,您需要了解其语法和工作方式。在每个用户的帐户中都有一个crontab文件,其默认位置是在/var/spool/cron/下。要创建或编辑一个crontab文件,您可以运行命令“crontab -e”。 它将打开一个新的编辑器窗口,您可以在其中添加或修改任务。
总而言之,crontab是一种非常有用的工具,可以帮助管理员轻松地管理定期任务,从而提高计算机系统的可靠性和效率。
[^1]written 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上。即,将程序输出的错误信息和标准输出都发送到同一个输出流中,以便于统一处理和记录。
&:在命令结尾添加&符号可以将该命令放在后台执行,并立刻返回命令行提示符,以便用户继续操作命令行。
————————————————
版权声明:本文为CSDN博主「Think_out_loud」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Think_out_loud/article/details/130324161
文章介绍了如何使用Crontab在Linux系统中设置定时任务,以每天0点执行脚本来清理不需要的nodejs项目包。脚本通过find命令查找并删除特定路径下,不以当前月份和前一个月为标签的Release文件夹。同时解释了在crontab中2>&1&的含义,它将标准错误输出重定向到标准输出并使命令在后台执行。

1158

被折叠的 条评论
为什么被折叠?



