Você pode confiar nas datas de modificação do seu arquivo no cliente e no servidor? Nesse caso, você pode usar a funcionalidade "GET condicional" / "If-Modified-Since" do HTTP com a opção curl -z . Não há necessidade de baixar nada. Esta é uma funcionalidade incorporada do protocolo HTTP que tem sido usado em todos os lugares desde o início.
Não é necessário fazer download de nada se a data de modificação do arquivo no servidor não for mais recente que a do arquivo que você baixou da última vez.
Para o seu script bash , considere usar stat(1) para encontrar o horário de modificação do arquivo local, para que você possa alimentar essa informação em curl -z … .