Ansible Komut Rehberi

1. Ansible Sürümünü Görme
ansible --version

📌Ansible sürümünü ve python yolunu gösterir.

2. Ping Testi Yapma
ansible all -m ping

📌Tüm sunuculara ping modülü ile bağlantıyı test eder.

3. Belirli Host’a Ping
ansible myhost -m ping

📌Tek bir sunucuya ping testi yapar.

4. Envanter Dosyasını Belirtme
ansible all -i inventory.ini -m ping

📌Özel envanter dosyası ile işlem yapar.

5. Envanterdeki Hostları Listeleme
ansible all --list-hosts

📌Envanterdeki tüm hostları listeler.

6. Envanter Gruplarını Listeleme
ansible-inventory --list

📌Tüm inventory gruplarını JSON formatında listeler.

7. Envanter Grafiğini Gösterme
ansible-inventory --graph

📌Envanter ilişkilerini grafiksel olarak gösterir.

8. Basit Komut Çalıştırma
ansible all -m shell -a "uptime"

📌Tüm sunucularda shell komutu çalıştırır.

9. Belirli Host Üzerinde Komut Çalıştırma
ansible web -m shell -a "df -h"

📌Belirli gruptaki hostlarda komut çalıştırır.

10. Parola Sorarak Çalıştırma
ansible all -k -m ping

📌SSH parolası sorarak işlem yapar.

11. Sudo Kullanımı
ansible all -b -m shell -a "whoami"

📌Komutu sudo ile çalıştırır.

12. Özel Kullanıcı ile Bağlantı
ansible all -u deploy -m ping

📌Bağlantıyı deploy kullanıcısı ile yapar.

13. Playbook Çalıştırma
ansible-playbook site.yml

📌Belirtilen playbook’u çalıştırır.

14. Playbook’u Belirli Hostlarda Çalıştırma
ansible-playbook -l webservers site.yml

📌Sadece belirli grupta çalıştırır.

15. Playbook Dry Run
ansible-playbook --check site.yml

📌Değişiklik yapmadan ne olacağını gösterir.

16. Playbook Hata Ayıklama Modu
ansible-playbook -vvv site.yml

📌Detaylı debug çıktısı verir.

17. Playbook’a Varsayılana Değer Geçme
ansible-playbook site.yml --extra-vars "env=prod"

📌Playbook’a değişken yollar.

18. Yaml Syntax Kontrolü
ansible-playbook --syntax-check site.yml

📌YAML dosyasının hatalarını kontrol eder.

19. Modül Listesi Görme
ansible-doc -l

📌Tüm modülleri listeler.

20. Modül Dokümanını Görme
ansible-doc copy

📌Belirli modülün açıklamasını gösterir.

21. Dosya Kopyalama
ansible all -m copy -a "src=/tmp/file dest=/tmp/"

📌Dosya kopyalar.

22. Dosya Silme
ansible all -m file -a "path=/tmp/file state=absent"

📌Dosya veya dizini siler.

23. Dizin Oluşturma
ansible all -m file -a "path=/tmp/test state=directory"

📌Dizin oluşturur.

24. Paket Kurma (YUM)
ansible all -m yum -a "name=htop state=present"

📌Yum ile paket yükler.

25. Paket Silme (APT)
ansible all -m apt -a "name=nginx state=absent"

📌APT ile paket siler.

26. Hizmet Başlatma
ansible all -m service -a "name=httpd state=started"

📌Hizmeti başlatır.

27. Hizmet Durdurma
ansible all -m service -a "name=httpd state=stopped"

📌Hizmeti durdurur.

28. Hizmeti Yeniden Başlatma
ansible all -m service -a "name=sshd state=restarted"

📌Hizmeti yeniden başlatır.

29. Kullanıcı Oluşturma
ansible all -m user -a "name=deployer state=present"

📌Yeni kullanıcı oluşturur.

30. Kullanıcı Silme
ansible all -m user -a "name=deployer state=absent"

📌Kullanıcıyı siler.

31. Dosya İzinlerini Ayarlama
ansible all -m file -a "path=/tmp/test mode=0755"

📌Dosya izinlerini değiştirir.

32. Komut Sonucu JSON Çıktı
ansible all -m shell -a "hostname" -o

📌Çıktıyı JSON formatında verir.

33. Ping ve Zaman Aşımı
ansible all -m ping -T 10

📌Ping zaman aşımı ayarı yapar.

34. Cron Görevi Oluşturma
ansible all -m cron -a "name='backup' minute=0 hour=1 job='/usr/bin/backup.sh'"

📌Yeni cron görevi ekler.

35. Cron Görevi Silme
ansible all -m cron -a "name='backup' state=absent"

📌Cron görevini siler.

36. Satır Ekleme
ansible all -m lineinfile -a "path=/etc/hosts line='127.0.0.1 myhost'"

📌Dosyaya satır ekler.

37. Satır Silme
ansible all -m lineinfile -a "path=/etc/hosts regexp='myhost' state=absent"

📌Dosyadan satır siler.

38. Environment Değişkeni Ayarlama
ansible all -m shell -a 'export VAR=value'

📌Ortam değişkeni ayarlar.

39. Envanteri JSON Olarak Almak
ansible-inventory -i inventory.ini --list

📌JSON çıktısı alır.

40. Playbook Tag Kullanımı
ansible-playbook site.yml --tags "install"

📌Belirli tag’lere sahip task’ları çalıştırır.

41. Tag Hariç Tutma
ansible-playbook site.yml --skip-tags "deploy"

📌Belirli tag’leri atlar.

42. Localhost’a Çalıştırma
ansible localhost -m ping -c local

📌Yerel çalıştırma yapar.

43. Template Kullanma
ansible all -m template -a "src=file.j2 dest=/tmp/file"

📌Jinja2 template kullanır.

44. Ansible Config Dosyasını Görme
ansible-config dump

📌Aktif konfigürasyonu gösterir.

45. Ansible Config Kontrolü
ansible-config list

📌Tüm ayar seçeneklerini listeler.

46. Hata Yakalama
ansible-playbook site.yml --force-handlers

📌Handler’ları hata durumunda bile çalıştırır.

47. Durdurma Koşulu
ansible all -m shell -a "exit 1" || true

📌Komut başarısız olsa bile playbook’u durdurmaz.

48. Prompt Kullanımı
ansible-playbook site.yml --ask-vault-pass

📌Vault şifresi sorar.

49. Vault Dosyası Şifreleme
ansible-vault encrypt secrets.yml

📌Dosyayı şifreler.

50. Vault Dosyası Decrypt
ansible-vault decrypt secrets.yml

📌Dosya şifre çözme.

51. Vault Dosyası Düzenleme
ansible-vault edit secrets.yml

📌Şifreli dosyayı düzenler.

52. Vault Yeni Şifre Belirleme
ansible-vault rekey secrets.yml

📌Vault şifresini değiştirir.

53. Komutları Paralel Çalıştırma
ansible all -a "sleep 5" -f 10

📌10 paralel işlem çalıştırır.

54. Host Anahtarlarını Yoksayma
ANSIBLE_HOST_KEY_CHECKING=False ansible all -m ping

📌SSH host key kontrolünü devre dışı bırakır.

55. Hata Olunca Devam Etme
ansible-playbook site.yml --forks=5

📌İşlem hatası sonrası devam eder.

56. Şifre Dosyası Kullanma
ansible-playbook site.yml --vault-password-file pass.txt

📌Şifreyi dosyadan okur.

57. Yalnızca Değişiklikleri Gösterme
ansible-playbook site.yml --diff

📌Dosya değişikliklerini gösterir.

58. Shell Modülü Yerine Command Modülü
ansible all -m command -a "ls -l"

📌Shell kullanılmadan komut çalıştırır.

59. Facts Listeleme
ansible all -m setup

📌Tüm sistem bilgilerini toplar.

60. Belirli Fact Arama
ansible all -m setup -a "filter=ansible_hostname"

📌Belirli fact’ı filtreler.

61. Erişim Testi
ansible all -m ping -o

📌Bağlantıyı ve çıktıyı tek satırda gösterir.

62. Environment File Kullanma
ansible all -m shell -a ". /etc/profile && mycommand"

📌Ortam değişkenleri yükler.

63. Condition Kullanımı
when: ansible_os_family == "RedHat"

📌Görev koşullu çalışır.

64. Handler Kullanma
notify: restart nginx

📌Değişiklik sonrası handler tetikler.

65. Loop Kullanma
with_items:
  - nginx
  - httpd

📌Tekrarlayan görevler için kullanılır.

66. Block Kullanma
block:
  - name: Task1
    ...
  - name: Task2
    ...

📌Görevleri blok içinde gruplar.

67. Register Kullanma
register: result

📌Sonucu değişkene atar.

68. Debug Modülü
- debug:
    var: result

📌Değişken çıktısını gösterir.

69. Playbook Stat Modülü
- stat:
    path: /etc/passwd

📌Dosya bilgilerini okur.

70. Replace Modülü
- replace:
    path: /tmp/file
    regexp: 'foo'
    replace: 'bar'

📌Dosyada kelime değiştirir.

71. Set Fact Modülü
- set_fact:
    my_var: "test"

📌Dinamik değişken tanımlar.

72. Pause Modülü
- pause:
    seconds: 5

📌Belirli süre bekler.

73. Fail Modülü
- fail:
    msg: "Hata oluştu!"

📌Manuel hata fırlatır.

74. Wait_for Modülü
- wait_for:
    port: 22
    timeout: 30

📌Bağlantıyı bekler.

75. Include Task
- include_tasks: mytasks.yml

📌Görev dosyası çağırır.

76. Import Task
- import_tasks: mytasks.yml

📌Görev dosyasını import eder.

77. Ansible Galaxy Rol Yükleme
ansible-galaxy install geerlingguy.nginx

📌Galaxy’den rol indirir.

78. Galaxy Rol Listeleme
ansible-galaxy list

📌Kurulu rolleri listeler.

79. Galaxy Rol Silme
ansible-galaxy remove geerlingguy.nginx

📌Rolü siler.

80. Vault Dosya Oluşturma
ansible-vault create secrets.yml

📌Şifreli dosya oluşturur.

81. Ansible Virtualenv Kullanımı
source venv/bin/activate

📌Virtualenv ortamını kullanır.

82. Host Pattern Kullanımı
ansible webservers:dbservers -m ping

📌Birden fazla grup çalıştırır.

83. Dynamic Inventory Kullanma
ansible -i ec2.py all -m ping

📌Dinamik envanter kullanır.

84. Inventory Dosyasındaki Varsayılan Kullanıcı
[all:vars]
ansible_user=ubuntu

📌Varsayılan kullanıcı tanımlar.

85. Inventory Dosyasında Parola
[all:vars]
ansible_ssh_pass=1234

📌Varsayılan şifre tanımlar.

86. Jump Host Kullanımı
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p bastion"'

📌Jump host ayarı.

87. Sadece Host Adlarını Alma
ansible all --list-hosts

📌Host listesini verir.

88. JSON Formatlı Çıktı
ansible all -m setup --tree out/

📌JSON çıktısını klasöre kaydeder.

89. Setup Modülü ile Bilgi Almak
ansible myhost -m setup

📌Detaylı sistem bilgisi alır.

90. SSH Anahtarları Belirtmek
ansible all -m ping --private-key ~/.ssh/id_rsa

📌Özel anahtar kullanır.

91. Parametrik Playbook Çalıştırmak
ansible-playbook deploy.yml --extra-vars "branch=dev"

📌Branch parametresi yollar.

92. Ignore Errors Kullanımı
ignore_errors: yes

📌Görevi hatada atlar.

93. Faktör Listesi Görmek
ansible localhost -m setup

📌Yerel faktörleri gösterir.

94. Free Strategy
strategy: free

📌Görevlerin sıradan bağımsız çalışmasını sağlar.

95. SSH Portunu Belirtmek
ansible_port=2222

📌SSH portunu değiştirir.

96. Playbook Environment Ayarlama
environment:
  PATH: "/usr/local/bin:{{ ansible_env.PATH }}"

📌Playbook ortam değişkeni belirler.

97. Komut Modülü Kısa Kullanım
ansible all -a "uptime"

📌Modül belirtmeden komut çalıştırır.

98. YAML Syntax Kontrolü
ansible-playbook --syntax-check deploy.yml

📌Syntax hatası kontrolü yapar.

99. Localhost Deploy
ansible-playbook deploy.yml -i localhost,

📌Yerel deploy çalıştırır.

100. Yardım Menüsü
ansible --help

📌Ansible yardım ekranını gösterir.