Как обычно, для этого должно быть много решений ;)
Вы можете автоматизировать промежуточную копию с помощью сценария
Можно создать туннель, который соединяет порт на X с порт на общедоступной машине. Так что вы, вероятно, могли бы запустить rsync на X. Я играл с туннелями пару лет назад, но обнаружил, что они несколько ненадежны, если запускать их вручную. Однако autossh автоматизирует соединение и поддерживает туннель в рабочем состоянии.
Тем не менее, если X имеет доступ в Интернет, в какой-то момент он будет использовать общедоступный IP-адрес. Интересно, почему вы не можете использовать rsync напрямую? NAT на маршрутизаторе должен без проблем переводить порт с общедоступного IP-адреса на внутренний IP-адрес? Или я путаю?