【Ubuntu使用技巧】Ubuntu22.04无人值守Crontab工具实战详解

news2025/1/7 16:29:37

一个愿意伫立在巨人肩膀上的农民......

        Crontab是Linux和类Unix操作系统下的一个任务调度工具,用于周期性地执行指定的任务或命令。Crontab允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。这些任务可以按照分钟、小时、日、月和星期等不同的时间单位进行安排。

一、Crond 服务管理

        Ubuntu22.04系统默认是开机开启Crond 服务的,因此此处不必理会,但是如果自己电脑之前设置过关闭该服务,则需要重启,或者更改配置使其开机自启。配置方法是在 /etc/rc.d/rc.local 中添加 service crond start 这一行,其他的管理命令为:

# 启动服务
/sbin/service crond start 
# 关闭服务
/sbin/service crond stop 
# 重启服务
/sbin/service crond restart 
# 重新载入配置
/sbin/service crond reload

二、Crontab常用的基本命令

1.查看当前用户的计划任务

crontab -l

2.编辑计划任务

crontab -e

第一次进入会让你选择编辑器,比如我这里想选nano,那就输入1再敲回车即可。

3.删除计划任务

crontab -r

三、设置Crontab执行文件

1.Crontab执行的文件示例

        此处以删除Ubuntu日志文件为例,首先创建一个名为“clean_logs.sh”的shell文件,文件内容如下:

#!/bin/bash
# 定义要清理的日志文件目录
LOG_DIR="/var/log"

# 查找并删除该目录下所有以.log结尾的文件
sudo find "$LOG_DIR" -type f -iname "*.log" -exec rm -f {} \;

2.Crontab设置

        输入下方指令即可进入Crontab配置文件,并对其进行配置。

crontab -e

此处我是想每6小时删除一次日志文件,因此我的添加的时间设置和要执行的文件写法如下:

* */6 * * * /home/ub/clean_logs.sh

保存并退出文件。在visudo中,可以使用Ctrl+x,然后按Y确认保存,最后按Enter退出。设置完成后电脑将会自动每6个小时删除一下/var/log目录下后缀为“.log”的文件。

注意!注意!注意!

待执行的指令中有sudo相关需要给权限和输入密码的操作,需要按照下方链接中的教程对sudo指令进行配置,否则指令无法运行,而报错结果只能在/var/log/syslog日志文件下查询。

【Ubuntu使用技巧】取消无人值守时shell文件中sudo指令运行的密码输入-CSDN博客

四、编辑Crontab说明

1.格式:

        m h dom mon dow command
        m:分钟,取值是从0到59之间的整数。
        h:小时,取值是从0到23之间的整数。
        dom:日期,取值是从1到31之间的整数。
        mon:月份,取值是从1到12之间的整数。
        dow:星期几,取值是从0到7之间的整数,这里的0或7代表星期日。
        command:命令,可以是系统命令,也可以是自己编写的脚本文件。

2.下方的图片有助于理解以上的设置。

3.在以上各个字段中,还可以使用以下特殊字符:

        星号(*):代表所有可能的值,例如mon字段如果是星号 * ,则表示在满足其它字段的制约条件后每月都执行该命令操作。
        逗号(,):逗号隔开的值指定时间,例如:dow取“1,2,5”,表示只在周一、周二、周五执行
        中杠(-):中杠表示一个整数范围,例如:m取“2-6”,表示2-6分钟内要执行
        正斜线(/):可以用正斜线指定时间的间隔频率,例如:h取“0-23 /2 ”表示每两小时执行一次。

        同时正斜线可以和星号一起使用,例如:m取“ */10 ”,表示 每十分钟执行一次 。


实例1:每天7:50开启ssh服务

50 7 * * * /sbin/service sshd start

实例2:每月的4号与每周一到周三的11点重启smb

0 11 4 * mon-wed /etc/init.d/smb restart

欢迎在这里评论、沟通、指正。

创作不易,引用请附原文链接。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2271960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙Flutter实战:15-Flutter引擎Impeller鸿蒙化、性能优化与未来

Flutter 技术原理 Flutter 是一个主流的跨平台应用开发框架,基于 Dart 语言开发 UI 界面,它将描述界面的 Dart 代码直接编译成机器码,并使用渲染引擎调用 GPU/CPU 渲染。 渲染引擎的优势 使用自己的渲染引擎,这也是 Flutter 与其…

UniApp | 从入门到精通:开启全平台开发的大门

UniApp | 从入门到精通:开启全平台开发的大门 一、前言二、Uniapp 基础入门2.1 什么是 Uniapp2.2 开发环境搭建三、Uniapp 核心语法与组件3.1 模板语法3.2 组件使用四、页面路由与导航4.1 路由配置4.2 导航方法五、数据请求与处理5.1 发起请求5.2 数据缓存六、样式与布局6.1 样…

法拉利F80发布 360万欧元限量799辆 25年Q4交付

今日,法拉利旗下全新超级跑车——F80正式发布,新车将作为法拉利GTO和法拉利LaFerrari(参数丨图片) Aterta的继任者,搭载V6混合动力系统,最大综合输出功率高达1632马力。售价360万欧元,全球限量生…

【pytorch练习】使用pytorch神经网络架构拟合余弦曲线

在本篇博客中,我们将通过一个简单的例子,讲解如何使用 PyTorch 实现一个神经网络模型来拟合余弦函数。本文将详细分析每个步骤,从数据准备到模型的训练与评估,帮助大家更好地理解如何使用 PyTorch 进行模型构建和训练。 一、背景 …

电脑steam api dll缺失了怎么办?

电脑故障解析与自救指南:Steam API DLL缺失问题的全面解析 在软件开发与电脑维护的广阔天地里,我们时常会遇到各种各样的系统报错与文件问题,其中“Steam API DLL缺失”便是让不少游戏爱好者和游戏开发者头疼的难题之一。作为一名深耕软件开…

Conda 安装 Jupyter Notebook

文章目录 1. 安装 Conda下载与安装步骤: 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能(可选)6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具,尤其适合数据科学、机器…

组合的能力

在《德鲁克最后的忠告》一书中,有这样一段话: 企业将由各种积木组建而成:人员、产品、理念和建筑。积木的设计组合至少和其供给一样重要。……对于一切程序、应用软件以及附件来说,重要的是掌握将已有的软件模块组合的能力&…

去掉el-table中自带的边框线

1.问题:el-table中自带的边框线 2.解决后的效果: 3.分析:明明在el-table中没有添加border,但是会出现边框线. 可能的原因: 由 Element UI 的默认样式或者表格的某些内置样式引起的。比如,<el-table> 会通过 border-collapse 或 border-spacing 等属性影响边框的显示。 4…

大模型与EDA工具

EDA工具&#xff0c;目标是硬件设计&#xff0c;而硬件设计&#xff0c;您也可以看成是一个编程过程。 大模型可以辅助软件编程&#xff0c;相信很多人都体验过了。但大都是针对高级语言的软件编程&#xff0c;比如&#xff1a;C&#xff0c;Java&#xff0c;Python&#xff0c…

【HarmonyOS之旅】基于ArkTS开发(一) -> Ability开发一

目录 1 -> FA模型综述 1.1 -> 整体架构 1.2 -> 应用包结构 1.3 -> 生命周期 1.4 -> 进程线程模型 2 -> PageAbility开发 2.1 -> 概述 2.1.1 ->功能简介 2.1.2 -> PageAbility的生命周期 2.1.3 -> 启动模式 2.2 -> featureAbility接…

BART:用于自然语言生成、翻译和理解的去噪序列到序列预训练

摘要&#xff1a; 我们提出了BART&#xff0c;一种用于预训练序列到序列模型的去噪自编码器。BART通过以下方式训练&#xff1a;(1) 使用任意的噪声函数对文本进行破坏&#xff0c;(2) 学习一个模型来重建原始文本。它采用了一种标准的基于Transformer的神经机器翻译架构&#…

Promise编码小挑战

题目 我们将实现一个 createImage 函数&#xff0c;该函数返回一个 Promise&#xff0c;用于处理图片加载的异步操作。此外&#xff0c;还会实现暂停执行的 wait 函数。 Part 1: createImage 函数 该函数会&#xff1a; 创建一个新的图片元素。将图片的 src 设置为提供的路径…

Dubbo扩展点加载机制

加载机制中已经存在的一些关键注解&#xff0c;如SPI、©Adaptive> ©Activateo然后介绍整个加载机制中最核心的ExtensionLoader的工作流程及实现原理。最后介绍扩展中使用的类动态编译的实 现原理。 Java SPI Java 5 中的服务提供商https://docs.oracle.com/jav…

【Web】软件系统安全赛CachedVisitor——记一次二开工具的经历

明天开始考试周&#xff0c;百无聊赖开了一把CTF&#xff0c;还顺带体验了下二开工具&#xff0c;让无聊的Z3很开心&#x1f642; CachedVisitor这题 大概描述一下&#xff1a;从main.lua加载一段visit.script中被##LUA_START##(.-)##LUA_END##包裹的lua代码 main.lua loca…

在不到 5 分钟的时间内将威胁情报 PDF 添加为 AI 助手的自定义知识

作者&#xff1a;来自 Elastic jamesspi 安全运营团队通常会维护威胁情报报告的存储库&#xff0c;这些报告包含由报告提供商生成的大量知识。然而&#xff0c;挑战在于&#xff0c;这些报告的内容通常以 PDF 格式存在&#xff0c;使得在处理安全事件或调查时难以检索和引用相关…

vscode代码AI插件Continue 安装与使用

“Continue” 是一款强大的插件&#xff0c;它主要用于在开发过程中提供智能的代码延续功能。例如&#xff0c;当你在编写代码并且需要进行下一步操作或者完成一个代码块时&#xff0c;它能够根据代码的上下文、语法规则以及相关的库和框架知识&#xff0c;为你提供可能的代码续…

leetcode(hot100)4

解题思路&#xff1a;双指针思想 利用两个for循环&#xff0c;第一个for循环把所有非0的全部移到前面&#xff0c;第二个for循环将指针放在非0的末尾全部加上0。 还有一种解法就是利用while循环双指针条件&#xff0c;当不为0就两个指针一起移动 &#xff0c;为0就只移动右指针…

vulnhub——Earth靶机

使用命令在kali查看靶机ip arp-scan -l 第一 信息收集 使用 nmap 进行 dns 解析 把这两条解析添加到hosts文件中去&#xff0c;这样我们才可以访问页面 这样网站就可以正常打开 扫描ip时候我们发现443是打开的&#xff0c;扫描第二个dns解析的443端口能扫描出来一个 txt 文件…

k8s基础(1)—Kubernetes-Pod

一、Pod简介 Pod是Kubernetes&#xff08;k8s&#xff09;系统中可以创建和管理的最小单元&#xff0c;是资源对象模型中由用户创建或部署的最小资源对象模型‌。Pod是由一个或多个容器组成的&#xff0c;这些容器共享存储和网络资源&#xff0c;可以看作是一个逻辑的主机‌。…

【FlutterDart】页面切换 PageView PageController(9 /100)

上效果&#xff1a; 有些不能理解官方例子里的动画为什么没有效果&#xff0c;有可能是我写法不对 后续如果有动画效果修复了&#xff0c;再更新这篇&#xff0c;没有动画效果&#xff0c;总觉得感受的丝滑效果差了很多 上代码&#xff1a; import package:flutter/material.…