Home > System Tutorial > LINUX > Schedule tasks to specify time points and execute one-time tasks that depend on the atd service

Schedule tasks to specify time points and execute one-time tasks that depend on the atd service

WBOY
Release: 2024-03-11 09:07:08
forward
1101 people have browsed it

Scheduled tasks are scheduled to be executed at once

At a specified time point, perform a one-time task

Depends on the atd service and needs to be started to implement the at task

The at queue is stored in the /var/spool/at directory

-V: Display version information

-l: List the jobs waiting to be run in the specified queue; equivalent to atq

-d: Delete the specified job; equivalent to atrm

-c: View specific job tasks

<span class="token namespace">[root@localhost ~]</span><span class="token comment"># systemctl start atd</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment"># systemctl enable atd</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment"># at now +1min</span>
at> useradd xwz
at><span class="token comment"># Ctrl+D结束</span>
job 1 at Thu Aug 27 15:35:00 2020
<span class="token namespace">[root@localhost ~]</span><span class="token comment"># atq</span>
1 Thu Aug 27 15:35:00 2020 a root
<span class="token namespace">[root@localhost ~]</span><span class="token comment"># id xwz</span>
uid=1000<span class="token punctuation">(</span>xwz<span class="token punctuation">)</span> gid=1000<span class="token punctuation">(</span>xwz<span class="token punctuation">)</span> 组=1000<span class="token punctuation">(</span>xwz<span class="token punctuation">)</span>
Copy after login

Whitelist: /etc/at.allow does not exist by default. Only users in this file can execute the at command

Blacklist: /etc/at.deny exists by default. Users in this file are denied the ability to execute at commands, while users not in the at.deny file can execute them

If both files do not exist, only root can execute the at command

Cycle scheduling execution cron user level

<span class="token namespace">[root@localhost ~]</span><span class="token comment"># systemctl start crond</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment"># systemctl enable crond</span>
crond 进程每分钟会处理一次计划任务
<span class="token namespace">[root@localhost ~]</span><span class="token comment"># ls /var/spool/cron # 储存位置</span>
Copy after login

<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment"># crontab -l # 列出当前用户所有计划任务</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment"># crontab -r # 删除当前用户计划任务</span>
<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment"># crontab -e # 编辑当前用户计划任务</span>
Copy after login

Time-sharing sun and moon worship commands

Basics of Log Management

rsyslogd: Most of the log records are related to system operations. Applications such as secure US Linux hosts, authentication sshd, su, scheduled tasks at, cronhttpd/nginx/mysql, etc. can record logs in their own way

linux任务计划_linux任务计划执行脚本_linux 计划任务没执行

tail/var/log/messages system main log file

tail-f/var/log/messages dynamically view the tail of the log file

tail/var/log/croncrond, the log generated by the at process

wCurrently logged in user/var/log/wtmp

tail/var/log/mysqld.logMySQL

<span class="token namespace">[root@localhost ~]</span><span class="token comment"># rpm -qc rsyslog</span>
<span class="token operator">/</span>etc<span class="token operator">/</span>logrotate<span class="token punctuation">.</span>d<span class="token operator">/</span>syslog <span class="token comment"># 日志轮转(切割)相关</span>
<span class="token operator">/</span>etc<span class="token operator">/</span>rsyslog<span class="token punctuation">.</span>conf <span class="token comment"># rsyslogd的主配置文件</span>
<span class="token operator">/</span>etc<span class="token operator">/</span>sysconfig<span class="token operator">/</span>rsyslog <span class="token comment"># rsyslogd相关文件</span>
Copy after login

Log service name

cron(LOG_CRON) Log formed by system scheduled tasks cront and at

daemon(LOG_DAEMON) Logs related to each daemon process

ftp(LOG_FTP)Log generated by ftp daemon

syslog(LOG_SYSLOG) stores the log information generated by the syslogd service (even though the service name has been changed to reyslogdlinux installation, and many configurations still inherit the syslogd service, so the service name is not changed here)

logrotateLog rotation

logrotate就是拿来进行日志轮替(也叫日志轮询)的,也就是把旧的日志文件联通并更名linux 计划任务没执行,同时创建一个新的空日志文件拿来记录新日志,当旧日志文件超出保存的范围时就删掉。

注:针对任何日志文件(rsyslog日志、Nginx访问或错误日志)

logrotate本身不是系统守护进程linux 计划任务没执行,它是通过计划任务crond每晚执行

<span class="token namespace">[root@localhost ~]</span><span class="token comment"># cat /etc/cron.daily/logrotate</span>
Copy after login

主配置文件

<span class="token punctuation">[</span>root@localhost ~<span class="token punctuation">]</span><span class="token comment"># vim /etc/logrotate.conf</span>
weekly <span class="token comment"># 一周轮转一次</span>
rotate <span class="token number">4</span> <span class="token comment"># 保留4份日志,也就是说,如果进行了5次日志轮替,就会删除第一个备份日志</span>
create <span class="token comment"># 主动创建新的日志文件</span>
dateext <span class="token comment"># 使用日期来作为文件名的后缀</span>
<span class="token comment">#compress # 每次轮转需不需要进行压缩</span>
include /etc/logrotate.d <span class="token comment"># 导入其他应用的日志轮转规则</span>
/var/log/wtmp <span class="token punctuation">{</span> <span class="token comment"># 以下参数仅对此目录有效</span>
monthly <span class="token comment"># 一个月轮转一次</span>
create 0664 root utmp <span class="token comment"># 轮转后创建新文件,并设置权限</span>
minsize 1M <span class="token comment"># 最小达到1M才会轮转</span>
rotate <span class="token number">1</span> <span class="token comment"># 仅保留一个日志备份。也就是只保留wtmp和wtmp.1日志</span>
<span class="token punctuation">}</span>
/var/log/btmp <span class="token punctuation">{</span>
missingok <span class="token comment"># 如果日志不存在,则忽略该日志的警告信息</span>
monthly
create 0600 root utmp
rotate <span class="token number">1</span>
<span class="token punctuation">}</span>
Copy after login

The above is the detailed content of Schedule tasks to specify time points and execute one-time tasks that depend on the atd service. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:itcool.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template