IT/Software/Command Line Applications/lftp
lftp -c "open 192.168.1.41:2121/Music; lcd /local/directory; mirror -R -P 3 --ignore-time --delete"
-c run a command
Separate all command with ;
mirror makes two directories identical. Default is remote to local
-R makes mirror local to remote
-P number specifies number of parallel connections
--ignore-time will only compare file size and existence
--continue will try again or resume if the connection fails.
--delete will remove files if no longer in the source.
lcd /local/directory; this is a separate command that specifies the local directory so that you can more easily script lftp otherwise it uses the current working directory.
pwd will print the working directory on the remote machine
lpwd will print the local working directory. That is where you ran the script from NOT what may be specified in the script.
lftp -c "set net:timeout 2 ; set net:max-retries 2 ; set net:reconnect-interval-base 5 ; open 192.168.1.41:2121/Music; lcd /local/directory; mirror -R -P 3 --ignore-time --delete --verbose"
The set command are detailed well here[1]. They must be either set globally or set with commands separated by ; Super great fine control