linux---虛擬機器的全自動安裝和定時延時任務
阿新 • • 發佈:2018-11-05
一.虛擬機器的全自動安裝
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/* 清理臨時檔案