1. 程式人生 > >linux---虛擬機器的全自動安裝和定時延時任務

linux---虛擬機器的全自動安裝和定時延時任務

一.虛擬機器的全自動安裝

1.前期準本工作

【yum源】 和【dhcp】 服務搭建成功

2.下載kickstart服務

yum install system-config-kickstart.noarch -y 下載kickstart服務
在這裡插入圖片描述

3.system-config-kickstart —> 開啟kickstart圖形介面

basic configuration ---> 基本資訊設定
在這裡插入圖片描述
installation method ---> 安裝模式選擇
在這裡插入圖片描述
boot loader options ---> 載入程式選項
在這裡插入圖片描述
partition information ---> 分區劃分策略


在這裡插入圖片描述
/boot ---> 分區劃分
在這裡插入圖片描述
/swap ---> 分區劃分
在這裡插入圖片描述
/ ---> 分區劃分
在這裡插入圖片描述
Network Configuration ---> 網路設定
在這裡插入圖片描述
firewall configuration ---> 火牆配置資訊
在這裡插入圖片描述
post-installation ---> 安裝後執行指令碼
在這裡插入圖片描述
在這裡插入圖片描述

4.儲存ks.cfg到/var/www/html

在這裡插入圖片描述

5.vim /var/www/html/ks.cfg —> 編輯ks.cfg檔案,給自動安裝虛擬機器新增安裝包

在這裡插入圖片描述

6. ksvalidator ks.cfg —> 檢查ks.cfg檔案是否編輯錯誤

在這裡插入圖片描述

7.vim /etc/sysconfig/selinux 編輯selinux檔案

在這裡插入圖片描述

8.在物理機中

 cd /mnt
 vim new.sh		--->  編輯自動安裝文字
	#!/bin/bash
	virt-install \
	--name $1 \
	--ram 1024 \
	--cpus 1 \
	--disk /var/lib/libvirt/images/$1.gcow2,bus=virtio,size=10 \
	--network bridge=br0,model=virtio \
	--location http://172.25.254.97/xin \
	--extra-args ks=http://172.25.254.97/ks.cfg &
chmod +x new.sh		--->  給檔案增加執行許可權
./nex.sh ming		--->  執行檔案,自動安裝虛擬機器ming

二. 延時任務

1.系統延時任務 (at)
[[email protected] ~]# at 14:48	---> 設定任務執行時間
at> rm -fr /mnt/*		---> 任務動作
at> <EOT>			---> ctrl+d發起任務

[[email protected] ~]# at now+1min	---> 延時一分鐘
at> rm -fr /mnt/*
at> <EOT>
at -l		檢視任務列表
at -c 任務號	取消任務內容
at -r 任務號	取消任務執行
注意:當任務有輸出時,輸出會以郵件的形式傳送給at任務的發起者
at now+1min
at> echo hello
at> <EOT>

mail -u root		檢視超級使用者的郵件
1			檢視第一封郵件
q			退出
> /var/spool/mail/root	清空郵件
2.at任務的黑白名單
/etc/at.deny	---> 系統中預設存在,在此檔案中出現的使用者不能執行at
/etc/at.allow	---> 系統中預設不存在,當檔案出現,普通不能執行at,只有在白名單中出現的使用者可以執行,並且/etc/at.deny失效

三.定時任務

1.定時任務
systemctl start crond.service   ---> 開啟定時程式,定時任務生效
crontab -e -u hostname		---> 編輯定時任務crontab,並且指定使用者
crontab -l -u hostname		---> 列出指定使用者的定時任務crontab
crontab -r -u hostname		---> 刪除指定使用者的定時任務crontab
2.編輯定時任務格式
(* * * * * 分時日月周)
分	時	日	月	周	
* 	*	 *	 *	 *       ---> rm -fr /mnt/*	每分鐘
*/2 	*	 *	 *	 *	---> 每兩分鐘
*/2 	09-17	 *	 *	 *	---> 早九點-晚五點每兩分鐘
*/2 	*/2	 *	 *	 *	---> 每隔兩小時每兩分鐘
*/2 	09-17	 1	 3,5	 5 	---> 三月和五月每週週五和三月一日,五月一日,早九點-晚五點每兩分鐘
*/2 	09-17	 *	 *	 5	---> 每週五早九點-晚五點每兩分鐘
3.檔案方式設定定時任務
vim /etc/cron.d/file	---> file名稱任意
 * * * * * username	action
 * * * * * root 		rm -rf /mnt/*
非互動式:
echo "* * * * * root rm -rf /mnt/*" > /etc/cron.d/westos
cd /etc/cron.		雙擊tab建
這種方式定義的crontab使用crontab -l 看不到
4.crontab的黑名單
/etc/cron.deny	---> 系統中預設存在,在此檔案中出現的使用者不能執行crontab
/etc/cron.allow	---> 系統中預設不存在,當檔案出現,普通不能執行crontab,
		只有在白名單中出現的使用者可以執行,並且/etc/cron.deny失效
	注意:這兩個名單都不會影響/etc/cron.d/目錄中定時任務的發起和執行
	* * * * *  root 		rm -rf /mnt/*
5.系統中臨時檔案的管理方式
cd /usr/lib/tmpfiles.d
vim /westos.conf
	型別	名稱		許可權	所有人	所有組	存在時間
	d 	/mnt/westos 	777	 root	 root 	5s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*	讀取目錄裡所有檔案按照其規則去建立
systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*	清理臨時檔案