Como alternativa ao rsync, uma maneira de realizar essa tarefa é usar wget
com a opção -m (--mirror), que aplica -r (recursão), -N (data e hora correspondentes ao arquivo remoto ) uma profundidade de nível infinito que você pode ou não querer restringir usando a opção -l, e também aplica a opção --no-remove-listing (uma opção de transferência de FTP que eu não acho importante ao transferir via HTTP)
Também precisaremos direcionar o diretório para armazenamento explicitamente para evitar despejar tudo no diretório no qual o wget foi lançado (comportamento padrão, como eu lembro)
Podemos fazer isso com a opção -P como em -P target ou --directory-prefix = target
Você provavelmente também evitará subir acima do diretório de origem que está segmentando com a opção -np (--no-parent), que se aplica:
Do not ever ascend to the parent directory when retrieving recursively.
This is a useful option, since it guarantees that only the files below
a certain hierarchy will be downloaded.
Você pode especificar as credenciais da seguinte forma:
--user=user
--password=password
Specifies the username user and password password for both FTP and HTTP file retrieval. These parameters can be overridden using the --ftp-user and
--ftp-password options for FTP connections and the --http-user and --http-password options for HTTP connections.
Colocando tudo isso junto, acabo com um comando que se parece com isso.
wget -m 192.168.0.22/webdav/ -np -P ./media/martin/internal-large/CCTV-TWO/
No seu caso, você pode ou não ter que adicionar as opções --user = admin e --password = whateveritis.
Pode haver outros switches úteis para seu caso de uso específico. Há uma página manual detalhada disponível com o comando man wget
Um em particular, você pode querer revisar é --no-clobber
Eu incluí um trecho da página man abaixo:
--no-clobber
If a file is downloaded more than once in the same directory,
Wget's behavior depends on a few options, including -nc. In
certain cases, the local file will be clobbered, or overwritten,
upon repeated download. In other cases it will be preserved.
When running Wget without -N, -nc, -r, or -p, downloading the same
file in the same directory will result in the original copy of file
being preserved and the second copy being named file.1. If that
file is downloaded yet again, the third copy will be named file.2,
--
Therefore, ""no-clobber"" is actually a misnomer in this
mode---it's not clobbering that's prevented (as the numeric
suffixes were already preventing clobbering), but rather the
multiple version saving that's prevented.
When running Wget with -r or -p, but without -N, -nd, or -nc, re-
downloading a file will result in the new copy simply overwriting
the old. Adding -nc will prevent this behavior, instead causing
the original version to be preserved and any newer copies on the
server to be ignored.
Fontes:
man wget