время rsync для обновления с удалениями

Я связывался с 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 - лучшая утилита, которую я могу придумать для такого рода операций.

Спасибо.

0
задан 20 September 2013 в 07:03

1 ответ

Я думаю, что нашел ответ на свой вопрос. Я возился с большим количеством параметров, более или менее пытаясь объединить два сценария, и придумал следующее:

#!/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/;

До сих пор он сделал то, что искал успешно, это создает список конкретных изменений того, что необходимо отправить на устройство, и делает это без медленного сравнения каждого файла, а затем выполняет быстрое удаление.

Я пока не буду отмечать это как завершенное, пока не протестирую еще несколько раз, чтобы убедиться, что это именно то, что я ищу.

Если кто-то действительно знает лучший способ достичь этого результата, чем делать то, что я придумал, пожалуйста, дайте мне знать!

Спасибо.

0
ответ дан 20 September 2013 в 07:03

Другие вопросы по тегам:

Похожие вопросы: