ansible中File模塊、Fetch模塊、Yum模塊、Pip模塊、Service模塊、Cron模塊、User模塊、Group模塊

1、ansible中的File模塊python

  file模塊是對文件進行的操做mysql

file模塊的一些參數 group #文件的屬組 mode #文件權限 owner #文件屬主 path #文件路徑 state directory 目錄 file touch 空文件 absent 刪除 link 軟鏈接 hard 硬連接 例子: ansible all -m file -a "path=/IT state=directory owner=it" 建立IT目錄,並制定屬主是it ansible all -m file -a "path=/tmp/IT.txt state=touch mode=777" 建立文件IT.txt 並指定權限 ansible all -m file -a "path=/tmp/cron src=/var/log/cron state=link" 建立軟鏈接,鏈接是本身本機的文件前面的path是鏈接存放地址,後面的src是源文件地址 ansible all -m file -a "path=/tmp/cron state=absent" 刪除軟鏈接 ansible all -m file -a "path=/IT state=absent" 刪除文件夾

補充知識linux

軟鏈接   快捷方式   ln -s   源文件修改軟鏈接修改 源文件刪除軟鏈接失效 能夠跨分區
硬連接    硬盤的位置   ln    源文件修改硬連接修改 源文件刪除硬連接不變 不能夠跨分區
複製    開闢新空間   cp    源文件修改cp的不變 源文件刪除不變 能夠跨分區nginx

 

2、ansible中Fetch模塊web

  拉取遠程主機的文件,並以主機IP地址或者主機名爲目錄,並保留了原來的目錄結構redis

dest 目標地址 src 源地址 ansible all -m fetch -a "src=/var/log/cron dest=/tmp" 將全部被控機下 /var/log/cron    拉取到主控機下的    /tmp    下

 

3、ansible中Yum模塊sql

  1.yum和rpm有什麼關係,區別是什麼mongodb

    yum的底層是rpm來執行的shell

  區別:django

    yum自動解決依賴關係,rpm須要手動解決依賴關係

  2.被控機的yum源怎麼配置

   咱們要在其餘的被控機器上好比安裝redis怎麼辦

首先要將管控機上的yum的epel源複製到被管控機上 ansible all -m copy -a "src=/etc/yum.repos.d/epel.repo dest=/etc/yum.repos.d/epel.repo" 第二步在管控機上執行 yum.repos.d]# ansible all -m yum -a "name=redis"

  第一步執行完就至關於配置完了被控機的epel源,而後執行第二部就安裝完事了

  咱們能夠打開主控機中的  vi /etc/yum.repos.d/epel.repo  文件看下里面有啥,你會發現這幾行代碼:

[epel] #名稱 name=Extra Packages for Enterprise Linux 7 - $basearch #全名或者描述信息 baseurl=http://mirrors.aliyun.com/epel/7/$basearch # 源url地址
failovermethod=priority enabled=1 #是否啓用,1啓用,0不啓用 gpgcheck=0 #是否檢驗key文件,0不校驗 1校驗 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

  那麼,yum模塊怎麼安裝包組呢????

  先看下有哪些參數:

disablerepo #禁用某個源 enablerepo #啓用某個源 name #包名 state install #安裝 remove #卸載 ansible web -m yum -a "name=python2-pip" #安裝軟件包 ansible web -m yum -a "name=python2-pip,redis" #安裝多個包 ansible web -m yum -a "name='@Development Tools'" #安裝開發工具包組 ansible web -m yum -a "name=nginx state=absent" #卸載 安裝完成後能夠執行 yum grouplist #查包組信息

 

4、Pip模塊

  先來熟悉下pip的命令

pip freeze > a.txt # 導出本地環境,固然個人名命有問題隨便命名的 pip install -r a.txt #安裝導出的全部的包 pip uninstall 包名 #卸載

  pip模塊的參數

chdir #切換目錄 name #包名 requirements #導出的文件 virtualenv #虛擬環境

 

5、Service模塊

  Linux服務的命令是這樣的

Linux服務命令 服務啓動命令 centos 7 systemctl start redis centos 6 service redis start 開機自啓動 centos 7 systemctl enaable redis centos 6 chkconfig redis on

  以及一些默認端口號

ssh 22 http 80 https 443 mysql 3306 redis 6379 mongodb 27017 oracle 1521 tomcat 8080 windows 遠程桌面 3389 ftp 20 21 django 8000 flask 5000

  Service模塊一些參數

enaled #開機啓動 name #服務名稱 state started #啓動 stopped #中止 restarted #重啓 reloaded #重載(平滑重啓) use 啓動的用戶

  用法舉個栗子

ansible all -m service -a "name=redis state=started" 將redis服務啓動 ansible all -m service -a "name=redis state=stopped" 將redis服務關閉 ansible all -m service -a "name=redis enabled=yes" 設置開機自啓動

 

6、cron定時任務模塊

  模塊參數

day #天 disabled #禁用crontab,表現形式加# hour #小時 job #任務 minute #分鐘 month #月 name #名字,任務描述 user #用戶 weekday #周 任務名字name必須不一樣不然不會執行,若是不加name默認爲None

  使用方法舉個栗子

ansible all -m cron -a "minute=12 name=touchfile job='touch /tmp/IT.txt'" 建立文件 ansible all -m cron -a "name=touchfile state=absent" 刪除任務 ansible all -m cron -a "minute=12 name=touchfile2 job='touch /tmp/IT2.txt' disabled=yes" #註釋 ansible all -m cron -a "name=None state=absent" 刪除名稱爲空的計劃任務

 

7、User模塊

  linux命令關於user的

-d 設置用戶家目錄 useradd -d /opt/alex2 alex2 -g 設置用戶的屬組 useradd -g alex2 alex3 -G, --groups 附加組 useradd -G alex2,root alex4 -r, --system 系統帳號 useradd -r alex5 # 系統帳號沒有家目錄 -s, --shell #設置用戶登陸後的shell useradd -s /sbin/nologin alex8 -u, --uid UID #設置用戶的id useradd -u 2000 alex9 設置了用戶的id之後,在設置用戶則從最大的id開始日後數 用戶分類 超級管理員 root 0 普通用戶 系統用戶 啓動一些服務或者進程,不能登陸 1-999 centos7 1-499 centos6 從大到小 登陸用戶 能夠登陸的用戶 1000-65535 centos7 500-65535 centos6 從小到大 userdel userdel alex8 默認不刪除家目錄 -r 刪除用戶的家目錄 userdel -r alex9 刪除用戶並刪除用戶的家目錄

  User模塊的一些參數以及用法例子

group #屬組 groups #附加組 home #設置家目錄 name #用戶名 remove #刪除用戶並刪除用戶的家目錄 shell #用戶登錄後的shell system #系統用戶 uid #用戶id
ansible web -m user -a "name=alex10 shell=/sbin/nologin home=/opt/alex10 uid=3000 groups=root" #建立用戶,並指定用戶的shell,家目錄,uid,以及附加組 ansible web -m user -a "name=alex11 shell=/sbin/nologin home=/opt/alex11" ansible web -m user -a "name=alex12 system=yes" #建立系統用戶 ansible web -m user -a "name=alex12 state=absent" #刪除用戶,單不刪除家目錄 ansible web -m user -a "name=alex11 state=absent remove=yes" # 刪除用戶並刪除用戶的家目錄

 

8、Group模塊

  Linux關於組的命令

groupadd -g 設置id -r 系統組 超級管理員組 root 0 普通組 系統組 1-999 centos7 1-499 centos6 從大到小 登陸用戶組 1000-65535 centos7 500-65535 centos6 從小到大 查看 tail /etc/group groupadd -g 3000 wusir10 groupadd -r wusir11

  Group模塊

gid 組id system 系統組 name 名稱 ansible web -m group -a "name=wusir10 system=yes gid=5000" 建立系統組 ansible web -m group -a "name=wusir11" 建立普通的組 ansible web -m group -a "name=wusir11 state=absent" #刪除組
相關文章
相關標籤/搜索