linux系統(tǒng)中計(jì)劃任務(wù)介紹
目錄
- 一、定制計(jì)劃任務(wù)
- 二、同步時(shí)間
- 三、練習(xí)
- 四、安全問題
一、定制計(jì)劃任務(wù)
1、atd服務(wù)(一次性)
1、atd服務(wù)對(duì)應(yīng)的命令------》at
使用at命令時(shí)先要進(jìn)行安裝
[root@localhost lianxi]# yum install at -y
然后必須要起動(dòng)atd服務(wù),不然不會(huì)定時(shí)去執(zhí)行任務(wù)的
[root@localhost lianxi]# service atd startRedirecting to /bin/systemctl start atd.service
案例如下:
[root@localhost lianxi]# at 11:00 #創(chuàng)建一個(gè)一次性執(zhí)行的計(jì)劃任務(wù)at> bash /root/wang.shat> <EOT> # ctrl+d退出job 5 at Wed Dec 22 11:00:00 2021[root@localhost lianxi]# at -l3 Wed Dec 22 10:20:00 2021 a root5 Wed Dec 22 11:00:00 2021 a root[root@localhost lianxi]# [root@localhost lianxi]# atrm 3 #刪除計(jì)劃任務(wù)編號(hào)為3的任務(wù)[root@localhost lianxi]# at -l #查看計(jì)劃任務(wù)列表5 Wed Dec 22 11:00:00 2021 a root[root@localhost lianxi]#
2、存放一次性計(jì)劃任務(wù)的目錄:/var/spool/at
batch命令也等同于at命令,只不過是系統(tǒng)負(fù)載比較低的時(shí)候運(yùn)行計(jì)劃任務(wù)
uptime命令:
[root@localhost lianxi]# uptime #查看系統(tǒng)開機(jī)多久了,以及系統(tǒng)的平均負(fù)載 10:28:33 up 4 days, 16:13, 2 users, load average: 0.00, 0.01, 0.05
2、crond服務(wù)(周期性)服務(wù)是默認(rèn)安裝的,而且開機(jī)自動(dòng)啟動(dòng)
1、crond服務(wù)對(duì)應(yīng)的命令------》crontab? ? ?是創(chuàng)管理周期性計(jì)劃任務(wù)的命令
-e ?表示創(chuàng)建一個(gè)計(jì)劃任務(wù)? (edit)
-l ?查看計(jì)劃任務(wù)列表
2、存放周期性計(jì)劃任務(wù)的目錄:/var/spool/cron
? ? ? cron服務(wù)的配置文件:/etc/crontab
? ? ? cron服務(wù)的日志文件:/var/log/cron (可以知道一個(gè)計(jì)劃任務(wù)是否執(zhí)行(CMD))
格式如圖所示:
?例子:《示例1 (root用 戶)》
每天早上7:50自動(dòng)開啟sshd服務(wù),22點(diǎn)50時(shí)關(guān)閉
每隔5天的12點(diǎn)整清空一次FTP服務(wù)器公共目錄Ivar/ftp/pub
每周六的7:30時(shí),重新啟動(dòng)httpd服務(wù)
每周一、三、五的17:30時(shí),打包備份/etc/httpd目錄
[root@localhost lianxi]# crontab -ecrontab: installing new crontab[root@localhost lianxi]# crontab -l30 3 * * * bash /root/sc.sh50 7 * * * service sshd start50 22 * * * service sshd stop0 12 */5 * * rm -rf /var/ftp/pub/*30 7 * * 6 service httpd restart30 17 * * 1,3,5 tar czf /backup/httpd.tar.gz /etc/httpd30 4 * * * /bin/bash /lianxi/backup/backup_log.sh[root@localhost lianxi]#
3、atd服務(wù)、crond服務(wù) 后面d的含義
d------》daemon(守護(hù)進(jìn)程):一直在內(nèi)存里運(yùn)行的進(jìn)程,直到我們?nèi)藶橥V顾倪\(yùn)行,不然它是一直在內(nèi)存中運(yùn)行的,因?yàn)橐恢痹趦?nèi)存里運(yùn)行,所以我們的用戶可以隨時(shí)去訪問,所以它一直守護(hù)著你,等待著你的到來。
二、同步時(shí)間
在centos7里:使用ntpdate命令
#第一步先安裝[root@localhost lianxi]# yum install ntpdate -y #第二步[root@localhost lianxi]# date -s "2021-12-22 15:6:12" #修改時(shí)間2021年 12月 22日 星期三 15:06:12 CST #第三步[root@localhost lianxi]# ntpdate time.windows.com22 Dec 11:59:38 ntpdate[13102]: step time server 20.189.79.72 offset -11225.674351 sec[root@localhost lianxi]# date2021年 12月 22日 星期三 11:59:42 CST
在centos8或7里:使用chrony
[root@localhost lianxi]# yum install chrony -y #安裝 [root@localhost lianxi]# service chronyd restart #重啟服務(wù)Redirecting to /bin/systemctl restart chronyd.service [root@localhost lianxi]# date -s "2021-12-22 15:6:12"2021年 12月 22日 星期三 15:06:12 CST [root@localhost lianxi]# date2021年 12月 22日 星期三 12:02:38 CST
三、練習(xí)
? 1.編寫一個(gè)腳本/backup/backup_log.sh實(shí)現(xiàn)備份/var/log目錄下的所有文件到/backup目錄下,要求文件名是包含當(dāng)天日期,精確到秒,文件名例如:2016-6-6-2_30_20-log.tar.gz。
同時(shí)要求刪除/backup目錄下七天前的備份文件,只保留最近7天的
? 2.以root用戶的身份去執(zhí)行,計(jì)劃任務(wù)的要求是每天的4:30執(zhí)行上面的這個(gè)腳本/backup/backup_log.sh
[root@lamp-test backup]# pwd/backup[root@lamp-test backup]# cat backup_log.sh #!/bin/bashmkdir -p /backuptar -czf /backup/$(date +%F_%H_%M_%S)-log.tar.gz /var/log/*find /backup -mtime +7 -type f -name "*.tar.gz" -exec rm -rf {} \;[root@lamp-test backup]# crontab -l30 4 * * * bash /backup/backup_log.sh
四、安全問題
1、如何找出有非法的計(jì)劃任務(wù)? 到哪些地方去看? crond進(jìn)程會(huì)到哪些地方去找需要執(zhí)行的腳本?
1./var/spool/cron ? --》用戶自定義的計(jì)劃任務(wù)存放的地方
2.操作系統(tǒng)本身的計(jì)劃任務(wù)--(順風(fēng)車)
[root@localhost lianxi2]# ls /etc/cron.*/etc/cron.deny /etc/cron.d:0hourly /etc/cron.daily: 每臺(tái)需要執(zhí)行的腳本logrotate man-db.cron /etc/cron.hourly: 每小時(shí)需要執(zhí)行的腳本0anacron /etc/cron.monthly: 每個(gè)月需要執(zhí)行的腳本 /etc/cron.weekly: 每周執(zhí)行的腳本 [root@localhost lianxi2]# cat /etc/cron.deny 禁用crond服務(wù)的用戶可以寫到里面
2、搭順風(fēng)車案例
搭順風(fēng)車?yán)樱篬root@lamp-test cron.hourly]# pwd/etc/cron.hourly[root@lamp-test cron.hourly]# ls0anacron poweroff.sh[root@lamp-test cron.hourly]# chmod +x poweroff.sh [root@lamp-test cron.hourly]# cat poweroff.sh init 0 [root@lamp-test log]# cd /etc/cron.hourly/[root@lamp-test cron.hourly]# ls0anacron poweroff.sh[root@lamp-test cron.hourly]# rm -rf poweroff.sh
到此這篇關(guān)于linux系統(tǒng)中計(jì)劃任務(wù)介紹的文章就介紹到這了,更多相關(guān)linux計(jì)劃任務(wù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
