Я хотел бы иметь возможность передавать файлы с карты памяти камеры в мое локальное хранилище, и после их копирования проверить соответствие файлов между источником и местом назначения, а затем удалить файлы из источника.
В настоящее время я работаю:
rsync --update -va --progress --no-r --info=progress2 source/** destination
Я выравниваю место назначения, поэтому копируются только файлы, а не исходные каталоги.
Что мне нужно добавить к этой команде, чтобы затем очистить все файлы и каталоги из источника, пока передача проверена?
--remove-source-files
Я погуглил "rsync, удаляют из источника" и нашел это: rsync удаляют файлы на передающей стороне после передачи - Переполнение стека. И вот часть описания от man rsync
:
--remove-source-files
This tells rsync to remove from the sending side the files
(meaning non-directories) that are a part of the transfer and
have been successfully duplicated on the receiving side.
Мне удалось заставить это работать в конце со следующим:
rsync --update -va --progress --no-r --remove-source-files --info=progress2 source/** destination &&
find source -depth -type d -empty -delete
Это будет использовать rsync для очистки синхронизировавших файлов и затем другой команды для очистки пустых каталогов источника.