--- - hosts: core, dvrs, tvrs, webtvs tasks: - name: Get timezone. command: date '+%Z' delegate_to: localhost changed_when: false check_mode: false register: zone - name: Get city. shell: readlink /etc/localtime | sed 's,/usr/share/zoneinfo/,,' delegate_to: localhost changed_when: false check_mode: false register: city - name: Update timezone. become: yes command: timedatectl set-timezone {{ city.stdout }} when: ansible_date_time.tz != zone.stdout register: new_tz - hosts: dvrs tasks: - name: Restart AgentDVR. become: yes systemd: service: AgentDVR state: restarted when: new_tz.changed - hosts: tvrs tasks: - name: Restart MythTV. become: yes systemd: service: "{{ item }}" state: restarted loop: [ mysql, mythtv-backend ] when: new_tz.changed