首頁 > 系統教程 > Linux > 主體

計劃任務指定時間點,執行一次性任務依賴與atd服務

WBOY
發布: 2024-03-11 09:07:08
轉載
1094 人瀏覽過

規劃任務一次調度執行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等等應用可以用自己的方法記錄日誌

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

#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中文網其他相關文章!

相關標籤:
來源:itcool.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板