aptitude
помнит, какие пакеты явно требовали и которые были только установлены из-за зависимостей. Это автоматически удалит пакеты, которые явно не требовали, когда они больше не необходимы.
apt-get
пакеты обработок требуют явно и их зависимости то же.
Так лучшее использование aptitude
, это помогает содержать Вашу систему в чистоте.
Использовать rsync
, и передача -u
если Вы хотите только обновить файлы, которые являются более новыми в исходном каталоге, или --ignore-existing
пропускать все файлы, которые уже существуют в месте назначения.
rsync -au /local/directory/ host:/remote/directory/
rsync -a --ignore-existing /local/directory/ host:/remote/directory/
(Отметьте /
на исходной стороне: без него rsync
создал бы /remote/directory/directory
.)
scp перезапишет файлы, если у Вас будут полномочия записи им.
Другими словами: можно сделать scp
эффективно пропустите, сказали файлы путем временного удаления полномочий записи на них (если Вы - владелец файлов, который является).
scp -r user@server.com:/location/of/files/* /local/location/
– Rick
27.05.2015, 22:16
Если можно сделать целевое содержание файла только для чтения:
find . -type f -exec chmod a-w '{}' \;
перед выполнением scp
(это будет жаловаться и пропускать существующие файлы).
И возвратите их позже ( chmod +w
получить umask базирующееся значение). Если бы файлы все не имеют разрешения записи согласно Вашему umask, необходимо было бы так или иначе сохранить полномочия так, чтобы можно было восстановить их.
(Ответ жабр перезаписывает существующие файлы, если локально они являются более новыми, я потерял ценные данные тот путь. Не понимайте, почему тот неправильный и вредный ответ имеет, так многие голосуют).
rsync --ignore-existing
заставьте Вас терять данные?
– Gilles 'SO- stop being evil'
27.11.2013, 12:01
find: missing argument to '-exec'
использование этой команды, и вместо этого должно было использовать: find . -type f -exec chmod a-w {} \;
. Мой Linux плох, ymmv.
– wpearse
06.04.2015, 03:16
find . -type f -exec chmod a-w {} \;
– Amir
17.10.2017, 19:41
Можно скопировать только новые файлы по дате. Использовать find
scp `find /data/*.gz -type f -mtime +7` USER@SERVER:/backup/
У меня была аналогичная задача, в моем случае я не мог использовать rsync
, csync
или FUSE, потому что мое хранилище имеет только SFTP. rsync
не может изменить дату и время для файла, некоторые другие утилиты (например, csync
) показали мне другие ошибки: « Невозможно создать временный файл Обнаружен перекос часов ".
Если у вас есть доступ к серверу хранения - просто установите openssh-server
или запустите здесь rsync
как демон.
В моем случае - я не мог этого сделать, и решение было: lftp . lftp
используется для синхронизации ниже:
lftp -c "open -u login,password sftp://sft.domain.tld/; \
mirror -c --verbose=9 -e -R -L /srs/folder /rem/folder"
/ src / folder
- это папка на моем компьютере, / rem / folder
- это sftp: //sft.domain.tld/rem/folder
.
Справочные страницы можно найти по ссылке: http://lftp.yar.ru/lftp-man.html
scp
перезаписывает файлы, и нет переключателя, чтобы остановить это, но вы можете скопировать все существующие файлы, выполнить scp, а затем скопировать существующие файлы обратно. Примеры:
Скопируйте все существующие файлы по пути
mkdir original_files ; cp -r * original_files/
Скопируйте все с помощью scp
scp -r user@server:dir/* ./
Скопируйте оригинальные файлы поверх всего, что записал scp:
cp -r original_files/* ./
Для копирования целого набора файлов быстрее использовать tar. Используя -k, вы также предотвращаете перезапись файлов при распаковке tar на целевой системе.
tar -c <source-dir> | ssh <name>@<host> 'tar -kxzf - -C <target-dir>'
Другой способ добиться этого — выполнить ls
в папке назначения:
В удаленной папке назначения:
ls | awk '{print "mv " $1 "../copied_data/"}' > mv_copied_data
scp mv_copied_data user@source.server.com:/path/to/source/folder
По источнику:
cd /path/to/source/folder
chmod 777 mv_copied_data
./mv_copied_data
В пункте назначения:
scp -r user@source.server.com:/path/to/source/folder /path/to/destination/foldeer
--ignore-existing
действительно добавляет без замены, какую потерю данных Вы видите? – Gilles 'SO- stop being evil' 27.11.2013, 11:59rsync
легко доступный.... (Как Win32-OpenSSH) – Gert van den Berg 25.10.2016, 11:00--rsync-path
необходим) – Gert van den Berg 25.10.2016, 16:01