计划任务一次调度执行at
at指定时间点,执行一次性任务
依赖与atd服务,须要启动能够实现at任务
at队列储存在/var/spool/at目录中
-V:显示版本信息
-l:列举指定队列中等待运行的作业;相当于atq
-d:删掉指定的作业;相当于atrm
-c:查看具体作业任务
<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>
白名单:/etc/at.allow默认不存在,只有该文件中的用户能够执行at命令
黑名单:/etc/at.deny默认存在,拒绝该文件中用户执行at命令,而没有在at.deny文件中的使用者则可执行
假如两个文件都不存在,只有root可以执行at命令
循环调度执行cron用户级
<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>
分时日月礼拜命令
日志管理基础
rsyslogd:绝大部份日志记录,和系统操作有关,安全美国linux主机,认证sshd,su,计划任务at,cronhttpd/nginx/mysql等等应用可以以自己的方法记录日志
tail/var/log/messages系统主日志文件
tail-f/var/log/messages动态查看日志文件的尾部
tail/var/log/croncrond、at进程形成的日志
w当前登入的用户/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>
日志服务名称
cron(LOG_CRON)系统定时任务cront和at形成的日志
daemon(LOG_DAEMON)与各个守护进程相关的日志
ftp(LOG_FTP)ftp守护进程形成的日志
syslog(LOG_SYSLOG)存syslogd服务形成的日志信息(即使服务名称己经改为reyslogdlinux安装,而且好多配罝仍然沿袭了syslogd服务的,所以这儿并没有更改服务名称)
logrotate日志轮转
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>
以上是计划任务指定时间点,执行一次性任务依赖与atd服务的详细内容。更多信息请关注PHP中文网其他相关文章!