ansible基礎知識(二)

軟件相關模塊

yum

yum和rpm的區別

rpm:前端

(Redhat package manager)RPM管理支持事務機制。加強了程序安裝卸載的管理。python

yum:nginx

YUM被稱爲 Yellow dog Updater, Modified,是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。YUM使用Python語言寫成。YUM客戶端基於RPM包進行管理,能夠經過HTTP服務器下載、FTP服務器下載、本地軟件池的等方式得到軟件包,能夠從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係。web

YUM在安裝RPM時,會從服務器下載相應包,且緩存在本地。shell

使用YUM進行RPM包的管理,很是簡單方便。centos

yum 源配置緩存

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch #名字
baseurl=http://mirrors.aliyun.com/epel/7/$basearch  #rpm源的地址,能夠寫http,https,ftp,Samba,file:
failovermethod=priority
enabled=1 # 是否開啓,1表明開啓,0表示關閉
gpgcheck=0  #是否校驗簽名,1表明校驗,0表示校驗
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

 yum安裝包組服務器

yum grouplist # 查看包組信息
yum groupinstall # 安裝包組

 

disablerepo #禁用源
enablerepo #啓用源
name #包名
state  install (`present' or `installed', `latest'), or remove (`absent' or `removed')

ansible web -m copy -a 'src=/etc/yum.repos.d/epel.repo dest=/etc/yum.repos.d/epel.repo' # 複製epel源到被控機組

 語法格式:ui

ansible web -m yum -a 'name=wget' # 安裝wget
ansible web -m yum -a 'name=python2-pip' # 安裝python2-pip
ansible web -m yum -a 'name=wget state=absent' # 卸載軟件包
ansible web -m yum -a 'name="@Development Tools"' # 安裝包組

 pip

pip語法:url

pip install <安裝包>
pip freeze > a.txt  # 將python的環境打包到文件中
pip install -r a.txt  # 安裝文件中的包
pip list # 查看全部的以安裝成功的包

 ansible中pip使用pip

ansible web -m service -a 'name=nginx state=started' # 啓動nginx
ansible web -m service -a 'name=nginx state=stopped' # 關閉nginx

 

計劃任務

crontab 語法

* * * * * job 
分 時 日 月 周 任務
0 */2 *  * *  job  每隔兩個小時
0 12,13 * * * job 12點和13點
0 12-17 * * * job 12點到17點
0 12-17/2 * * 1,3,6,0 周1,周3,周6,周7 12點到17點每隔兩個小時 
crontab -e # 編輯計劃任務
crontab -l # 查看計劃任務
crontab -r # 刪除計劃任務

 ansible中cron參數

day  天
disabled 禁用
hour 小時
job 任務
minute 分鐘
month 月
name 任務名字
weekday 周

 ansible中cron語法

ansible db -m cron -a 'minute=26 job="touch /tmp/xzmly.txt" name=touchfile' # 新建一個計劃任務
ansible db -m cron -a 'name=touchfile state=absent' # 刪除一個計劃任務
ansible db -m cron -a 'minute=26 job="touch /tmp/xzmly.txt" name=touchfile disabled=yes'  # 禁用計劃任務,以#表示禁用

 用戶相關

用戶:
    管理員  root 0
    普通用戶
        系統用戶  不能登陸  1-999 centos7 1-499 centos6
        登陸用戶  能夠登陸  1000-65535 centos7 500-65535 centos6
用戶組:
    管理員組 root 0
    系統用戶組 1-999 centos7 1-499 centos6
    登陸用戶組 1000-65535 centos7 500-65535 centos6 
    
 -d  指定用戶的家目錄
 -g  指定用戶的組
 -G  執行用戶的附加組
 -s  指定登陸後使用的shell
 -r 建立一個系統組
 useradd -r wusir  建立系統用戶, 從999倒序
 useradd -s /sbin/nologin alexsb 建立的是普通用戶,從1000開始升序
  useradd -d /opt/alexsb2 alexsb2 建立用戶時指定用戶的家目錄
   useradd -u 3000 alexsb6 # 建立用戶並指定用戶的uid
  userdel alex 刪除用戶
  userdel -r alexsb2 刪除用戶並刪除用戶的家目錄
  
  groupadd yuchao 建立用戶組
  groupdel yuchao 刪除用戶組

 語法:

group 組
groups 附加組
home 家目錄
name 用戶名
password 密碼
remove ?
shell 用戶登陸後使用的shell
system 建立一個系統用戶
uid 用來指定用戶的id
state 狀態
ansible db -m user -a 'name=wulaoshi uid=4000 home=/opt/wulaoshi groups=root shell=/sbin/nologin' #建立一個用戶,並指定用戶的id,用戶的家目錄,用戶的附加組,用戶的shell
ansible db -m user -a 'name=wulaoshi state=absent' #刪除用戶可是不刪除用戶的家目錄
ansible db -m user -a 'name=wulaoshi3 state=absent remove=yes' # 刪除用戶並刪除用戶的家目錄

 

group

gid 組的id
name 組名
system 系統組
state
ansible db -m group -a 'name=wulaoshi system=yes' #建立系統組
ansible db -m group -a 'name=wulaoshi state=absent' # 刪除組

 實例

# 建立一個用戶組alex10

ansible web -m group -a 'name=alex10'

# 建立一個用戶wusir10

ansible web -m user -a 'name=wusir10'

# 把/etc/fstab文件複製到遠程主機上/tmp/f

ansible web -m copy -a 'src=/etc/fstab dest=/tmp/f'

# 安裝nginx,並啓動,設置開機自啓動

ansible web -m yum -a 'name=nginx'

ansible web -m service -a 'name=nginx enabled=yes'
相關文章
相關標籤/搜索