Я связывался с rsync, чтобы перенести мою музыкальную библиотеку (управляемую banshee) на мою SD-карту, которую я использую для своего телефона.
Это помогает мне обойти тот факт, что у меня нет хорошей графической программы для синхронизации музыки назад и вперед с моего телефона. Хотя я всегда ненавидел iTunes, признаюсь, он отлично справлялся с управлением музыкой и другими файлами, хранящимися в программе, между внешним устройством и ПК. Я не утверждаю, что rsync не является удивительной утилитой, я знаю, что это так, я просто не настолько хорош, как я надеялся.
Пару раз просматривая справочную страницу, я разработал следующие 2 сценария:
syncToSdCard.sh:
#!/bin/bash
exec > >(tee ~/rsync.out);
exec 2> >(tee ~/rsync.err);
rsync -v -r --delete-delay /home/user/Music/ /media/user/0741-C987/Music/;
updateSdCardOnly.sh
#!/bin/bash
exec > >(tee ~/rsync.out);
exec 2> >(tee ~/rsync.err);
rsync -v -r -u --inplace -m --prune-empty-dirs -e --delete /home/user/Music/ /media/user/0741-C987/Music/;
[ 117] Моя цель - как обновить каталог на SD-карте содержимым каталога на моей машине, так и очистить все, что было перемещено или удалено из исходного каталога.
Первый скрипт rsync (syncToSdCard.sh) делает это; однако, это занимает много времени, чтобы бежать.
Второй скрипт rsync, хотя и содержит опцию удаления, только передает изменения с моего локального компьютера (новые файлы и обновленные файлы) на sdcard; этот сценарий очень быстрый, хотя.
Что я ищу, так это того, кто может помочь мне объединить 2, чтобы получить быстрое обновление с удалением файлов, которых больше нет на источнике (ПК), как на целевом (sdcard). [ 1110]
Может кто-нибудь помочь мне с этим? Я также открыт для альтернативных способов достижения той же цели, если это возможно; rsync - лучшая утилита, которую я могу придумать для такого рода операций.
Спасибо.
Я думаю, что нашел ответ на свой вопрос. Я возился с большим количеством параметров, более или менее пытаясь объединить два сценария, и придумал следующее:
#!/bin/bash
exec > >(tee ~/rsync.out);
exec 2> >(tee ~/rsync.err);
rsync -v -r -u --inplace -m --prune-empty-dirs --delete-delay /home/user/Music/ /media/user/0741-C987/Music/;
До сих пор он сделал то, что искал успешно, это создает список конкретных изменений того, что необходимо отправить на устройство, и делает это без медленного сравнения каждого файла, а затем выполняет быстрое удаление.
Я пока не буду отмечать это как завершенное, пока не протестирую еще несколько раз, чтобы убедиться, что это именно то, что я ищу.
Если кто-то действительно знает лучший способ достичь этого результата, чем делать то, что я придумал, пожалуйста, дайте мне знать!
Спасибо.