View Single Post
Sitat av JuiceGutten Vis innlegg
Jeg fant et på GitHub, vet ikke hvordan det er med linker her på forumet(?) så om jeg poster noe som ikke blir verdsatt beklager jeg dette.
https://github.com/hyecheol123/Cloud...amic-IP-Update
Her skal det endres e-post, og disse API- zone og id feltene i config-filen. Etter dette kjørte jeg det chmod -x blabla.bash - siden ikke min router har endret IP i dag, eller etter jeg nettopp slo deg av og på - hvordan vet jeg da om den fungerte?
Vis hele sitatet...
Logg på cloudflare.com og sett dns-recorden til en annen IP med vilje, kjør scriptet, sjekk at det er oppdatert til riktig IP på cloudflare.com

Det scriptet så forresten temmelig bloaty og uleselig ut.

Jeg brukte Ansible (https://ansible.com) for å lage akkurat samme greia:

Kode

---
- hosts: localhost
  gather_facts: no
  connection: local

  vars:
    cf_zone: 'example.com'
    cf_record: 'home'
    cf_email: 'email-for-cloudflare-login'
    cf_api_token: 'your-api-token-from-cloudflare'
  
  tasks:
  - name: Get current public IP address
    uri:
      url: 'https://ipinfo.io/ip'
      return_content: yes
    register: public_ip

  - name: Update DNS record
    cloudflare_dns:
      zone: '{{ cf_zone }}'
      record: '{{ cf_record }}'
      type: A
      value: '{{ public_ip.content | trim }}'
      state: present
      account_email: '{{ cf_email }}'
      account_api_token: '{{ cf_api_token }}'

  - name: Create Cron job
    cron:
      name: Update DNS record
      minute: '15'
      job: '/path/to/ansible/playbook.yml'