多臺主機修改或寫入檔案並新增定時任務操作
阿新 • • 發佈:2022-05-25
最近遇到需要實現的簡單需求
1.推送到多臺主機和寫入和修改檔案
2.修改檔案內容和新增檔案內容
3.在指定使用者下新增定時任務最終還是覺得yml指令碼比較方便
指令碼內容大概如下
[root@ybt yml]# cat ybt.yml #yml示例 #playbook複習 --- - hosts: ybt remote_user: root tasks: - name: '寫入檔案' script: chdir=/home/ybt/ ybt.sh - name: '修改檔案內容和新增檔案內容' shell: sed -i 's/{{ ybt1 }}/{{ ybt2 }}/g' /home/ybt/ybtfile.txt - name: '新增定時任務' cron: name='新增定時任務' minute=2 job="cat /home/ybtfile.txt >> 1.txt" user=ybt [root@ybt yml]# cat ybt.sh #指令碼示例 #!/bin/bash #新增第一個檔案 cat > file <<EOP 這是第一個檔案 EOP #新增第二個檔案 cat > ybtfile.txt <<EOP $1 $2 $3 金川機房 沒錯金川機房 EOP
執行過程
[root@ybt yml]# ansible-playbook -e "ybt1=金川 ybt2=郵校" ybt.yml PLAY [ybt] ******************************************************************************************* TASK [Gathering Facts] ******************************************************************************* ok: [192.168.32.130] ok: [192.168.32.128] TASK [寫入檔案] ****************************************************************************************** changed: [192.168.32.128] changed: [192.168.32.130] TASK [修改檔案內容和新增檔案內容] ********************************************************************************* [WARNING]: Consider using the replace, lineinfile or template module rather than running 'sed'. If you need to use command because replace, lineinfile or template is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message. changed: [192.168.32.128] changed: [192.168.32.130] TASK [新增定時任務] **************************************************************************************** changed: [192.168.32.128] changed: [192.168.32.130] PLAY RECAP ******************************************************************************************* 192.168.32.128 : ok=4 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 192.168.32.130 : ok=4 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
執行結果
[ybt@localhost ~]$ crontab -l #Ansible: 新增定時任務 2 * * * * cat /home/ybtfile.txt >> 1.txt [ybt@localhost ~]$ ll 總用量 8 -rw-r--r--. 1 root root 22 4月 26 13:56 file -rw-r--r--. 1 root root 35 4月 26 13:56 ybtfile.txt [ybt@localhost ~]$ cat file 這是第一個檔案 [ybt@localhost ~]$ cat ybtfile.txt 郵校機房 沒錯郵校機房