九五从零开始的运维之路(其三十一)


前言

本篇将简述的内容:Linux系统下的Crond计划任务和用户权限提升


一、什么是计划任务

计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。

1.一次性任务

命令词:at
查看服务状态:systemctl status atd

书写at任务之前要查看系统时间:
date或者hwclock
格式

at time[HH:MM] date[yyyy-mm-dd]

示例

at 23:00
    at>mkdir /root/dir2300

退出shell
[ctrl+d]

运行以下命令来查看at任务的列表:

atq

此命令将显示当前计划执行的at任务的列表。每个任务都有一个唯一的任务号。

从at任务列表中选择你要查看的任务号。

运行以下命令来查看所选任务的具体内容:

at -c 任务号

将"任务号"替换为你要查看的任务的实际任务号。这将显示任务的详细信息,包括命令、执行时间和标准输出等。

例如,如果你要查看任务号为1的任务的具体内容,可以运行以下命令:

at -c 1

这个命令将显示任务号为1的at任务的详细信息。

需要注意的是,at任务默认存储在/var/spool/at目录下,每个任务都有一个以任务号命名的文件。你也可以直接在该目录下查看特定任务的文件,以查看任务的具体内容。
运行以下命令删除at任务:

atrm 编号

2.周期性任务

(一)在/etc/crontab文件中写入计划任务

格式

*  *  *  *   *     username             command

分 时 日 月 周
案例:

0 23 * * * root rm -rf /root/crontest/*

(二)使用crontab命令编辑计划任务

编辑任务
crontab -e

查看任务
crontab -l
删除任务
crontab r
指定运行任务的用户
crontab -u
在这里插入图片描述

格式:

  * * * * *     command绝对路径

所有用户定义的crontab都会被保存在/var/spool/cron目录中,文件名会以用户名命名.

案例:

crontab -e -u a1
10 11 * * * /usr/bin/touch /home/a1/test.txt

指定用户a1每天11:10在/home/a1/目录内创建一个名为test.txt的文件。

二、用户提权

1.什么是用户提权

用户权限提升是指在执行某些需要超级用户权限(root权限)才能进行的操作时,普通用户通过使用sudo命令来获得临时的超级用户权限。

2.su与su -

用来进行用户的终端切换
su 与 su -
su:不会切换shell
su - :会切换shell
格式:

su  [-] [username]

3.sudo提权

前提:
普通用户加入wheel
更改配置

vim /etc/sudoers

也可使用,更改配置文件/etc/sudoers

visudo

没有颜色显示,但visudo会检查内部语法,避免用户输入错误信息


总结

Crond计划任务和用户权限提升是Linux系统中常用的功能和技巧。通过合理使用Crond和sudo命令,用户可以提高工作效率,简化操作流程。然而,用户在使用这些功能时需要注意安全性和权限管理,避免对系统造成不必要的风险和损害。

猜你喜欢

转载自blog.csdn.net/liujiuwu_xyz/article/details/132269506
今日推荐