Home >System Tutorial >LINUX >Schedule tasks to specify time points and execute one-time tasks that depend on the atd service
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>
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>
<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>
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
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>
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>
主配置文件
<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>
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!