Копирование файлов с проверкой
Что в этом списке?
В списке находится программы которые можно использовать для замены KillCopy.
Это аналоги похожие по функционалу на KillCopy, которые заменяют программу частично или полностью. Этот список содержит 8 замен.
С помощью пользователей мы собираем каталог похожих друг на друга программ, чтобы вы могли подобрать альтернативу и скачать их. На сайте можно скачать популярные программы для Windows, Mac Os, Android и iPhone
Копирование файлов с проверками
я съэкономил на покупке МедиаБанка (типа мониторчик и 2.5hdd в маленькой коробочке)
взял старый ноут Sony (PCG505) 200мhz, он очень маленький, поставил туда HDD на 30Гб, PuppyLinux (не initrd, а как обычный линукс), кастрировал все что только можно - машина зверь!
Но вот в том МедиаБанке который я не купил, была фишка - "копировать и проверять". Работает медленнее, зато уверенность, что все фотки с флешки скопировались и скопировались правильно. мало ли какой аппаратный сбой.
в мире Win есть xcopy. хотя я ее никогда не использовал.
если написать скрипт самому, то слишком много раз файл считывать - 2 раза с флешки, один раз с винта и один раз писать на винт.
проверить фотки посмотрев их не получиться, мало памяти и проц слабый.
Проблема в том, что я не предстваляю где может случиться сбой - при чтении с флешки или при записи на внетренний HDD?
проще конечно заюзать perl и читать с флешки по 1024кб и скармливать md5_sum() и параллельно писать в файл на HDD.
не хочу изобретать велосипед. Поиск ничего не дал, кроме dd_rescue и GNU ddrescue. но помоему это не то.
ТД:
в ноуте PCMCIA USB2.0. чтение с флеш не выше 10мб/с, чтение с hdd 9-11 Мб/с. запись конечно медленнее.
не очень скоростные SD карты по 2 Гб. (ок. 7Мб/с чтение)
фотки по 3-4 Мб JPG и 9 Мб RAW
Программки такой не знаю. Но рискну высказаться не по теме. Осмысленность такого действа -- где-то в дельта-окрестности нуля. Если Вы не доверяете железу, то проверять отдельные файлы бессмысленно, ибо в конце концов грохнутся метаданные файловой системы и настанет пиндык гораздо более, чем одному файлу. Если винт сыплется, то файл может записаться и даже сразу прочитаться правильно, но через день осыпется и гуд бай. А всякими дурацкими программами, типа этой, вы убъете винт еще скорей.
Но вот в том МедиаБанке который я не купил, была фишка - "копировать и проверять". Работает медленнее, зато уверенность, что все фотки с флешки скопировались и скопировались правильно. мало ли какой аппаратный сбой.
напоминает какой-то маркетинговый ход, если честно. железо, кстати, само по себе не такое уж глупое и проверки там внутри и так присутствуют.
проще конечно заюзать perl и читать с флешки по 1024кб и скармливать md5_sum() и параллельно писать в файл на HDD.
при записи писать CRC32, при чтении - проверять.
MD5 очень долго, даже на новых CPU, а CRC32 вполне достаточно. скрипт на bash'е даже такой бегинер как я за часок наваяет
Скоро придёт
Осень
и правда, md5 положил его на лопатки, а crc считает быстро.
хотелось просто все в одном флаконе. создать текстовый файлик с данными [путь] [crc32] легко. и также легко его заюзать для проверки созданных копий.
Но это похоже на костыли. хочется прекрасного эллегантного.
да-да!
Когда Вы качаете файлик с внешней машины, то на каждом этапе идет проверка. Глупо не доверять железу. Особенно когда приходится перезакачивать битое
короче проблема решилась.
лень искать|выбирать, напиши свое
перл скрипт которому передаются 2 абсолютных пути
запускающий вызовы оболочки find [путь] -type f для формирования списка оригиналов
и cksum для генерации контрольной суммы
подготовительные вещи не включая вызов cksum на папке с 93 фотками (340Мб) тратит 0.5сек. (засекал `time [program]`)
(P1 200mHz, 32RAM)
полный вызов 1.5 минуты.
но кажется это какая-то кастрированная утилита COMPARE FOLDERS собственного написания.
надо сделать так, чтобы она вначале еще и копировала сами файлы. тогда хоть какой-то смысл.
Я вспомнил чего страшился!
и правда, чего переживать - HDD новый, комп под Linux-ом - какие еще нужны гарантии
Это была передача или статья про компьютер в космосе. Что они там используют довольно убогую по производительности аппаратуру, но зато она устойчива к бомбардировке электронами.
А раньше компы в серверной начинали глючить когда заходила тетя из бухгалтерии в синтетическом наряде.
сейчас конечно таких проблем нет, но например, когда передаешь видео по FireWare от камеры к компу и положить мобильник на провод, можно увидеть много эффектов.
Тернист путь мыслей блуждающих
часто ограничить и сформулировать функциональность труднее ее реализации.
выявленна самая главная проблема:
произошло чтение с внешнего устройства - нет уверенности что переданное не имеет сбоев.
просим передать еще раз, а оно берется из кэша. не знаю как заставить перечитать файл игнорируя возможную его копию в кэше.
идем по пути наименьшего сопротивления. т.к. оперативной памяти всего 32 мб. а доступно для кэша не более 15 (в течении недели проверял вывод /proc/meminfo)
данные будут замещены после 5-ит JPG файлов (копируем фотки по 3 мб не меньше) или 2-х RAW.
скрипт на Perl, т.к. более знаком чем с bash и прочими
скрипту даем 2 абсолютных пути: source и target
на source натравливает "find /source/path -type f" и получаем список файлов с абсолютными путями
помещаем в массив который shift-им и скармливаем `cp -pu /souce/path/f1 /target/path/f1`
т.к. массив уменьшается - имеем плюс - счетчик сколько фалов осталось скопировать (против немого `cp -Rpu`)
из проблем - нужно создать структуру подпапок заранее (find /source/path -type d) и скармливаем результаты `mkdir /target/path/..`
что интресно - на эксперементальном компе (PCG-505G P1 200mHz 32mb RAM) операция копирования cp -Rpu работает на 10% дольше perl скрипта тойже функциональности.
(видимо из-за проверок и создания вложенных папок)
(встречал как-то скрипт подсчета размера папки с использованием find, ls -l и awk работающего очень быстро)
запускаем sync на всякий случай.
скопировав файлы приступаем к их проверке.
основываясь на том, что из кэша выдавливается после 3 фоток, начинаем проверку в том же порядке как копировали.
используя тот же массив, в который скопировали пути к оригинальным файлам, начинаем провеку.
если считаная повторна пара по crc совпадает пишем в консоль ОК и в любом случае в summs.crc записываем скс о нем
если произошел сбой, пишем в copy.log комманд на повторное копирование типа "cp -pi /source/path /target/path" (в summs.crc для него уже будет запись, только вера ей на 1/2)
если оперативки прибаввится - то на первый план выходит проблема повторно запросить фал напрямую с устройства (и внутреннего и внешнего) минуя кэш.
сдесь бы помог dd, котя я нашел пару статей про то как ядро работает с кэшем и у меня нет уверенности что даже dd получает данные напрямую.
немного статистики (напомню, что это PCG-505G P1 200mHz 32mb RAM 30Gb Fujitsu 5400rpm noDMA):
данные для непрерывного потока: чтение через hdparm -t /dev/dev, а запись через dd из /dev/zero в any.file
резульаты для самопальных прог (тестовые файлы 340мб, 93 шт JPG/RAW, на 2Gb SD kingson с которой hdparm смог выжать 5 мб/с чтения)
по идее последний пунк должен быть суммой хотябы голого копирования и провеки из двух источников. почему-то получилось дольше. лень разбираться.
по итогу имеем 4.3 мб/с системной функции копирования и 1.8 мб/с самопальной с проверками.
т.е. более чем в 2 раза. скжем 1800кб - 7 минут против почти 20-ти.
и это при том, что используя cksum, а это помоему crc16, а не crc32.
лично мне кажется, что хакнуть dd и просить его считывать маленькими блоками по 2 раза с soucePath и сравнивать чтобы они были одинаковыми, а потом писать в targetPath и тут же считывать - работало бы быстрее чем подсчитывать суммы для целого файла.
Хотя мой, только что изобретенный кривенький велосипед, меня устраивает.
лень - лучший аргумен ничего не делать.
Когда Вы делаете резервную копию, подразумевается, что «в случае чего» она окажется работоспособной, то есть пригодной для восстановления. К сожалению, это не всегда так, и мы знаем много печальных историй, когда восстановление данных было невозможно из-за неполадок при создании «бэкапа». Для предотвращения таких случаев и своевременного выявления неполадок рекомендуется регулярно проводить тестирование резервных копий; более того, тестирование должно стать неотъемлемой частью Вашей стратегии резервного копирования.
- Проверка целостности резервной копии – сверяются контрольные суммы блоков данных резервной копии.
- Проверка восстановления из резервной копии – в специальной изолированной среде (“песочнице”) моделируется процесс восстановления системы из резервной копии, и проверяется, будет ли она работать корректно после восстановления.
Тестирование – проблемный вопрос
Жизненный опыт показывает, что часто компании “экономят” на тестировании резервных копий. Это может быть связано как с недостаточной осведомленностью в отношении возможных проблем на фазе восстановления, так и с экономическими факторами, так как полноценный процесс тестирования восстановления системы из резервной копии, если проводить его вручную, — очень трудоемкая операция. Такая ситуация чревата последствиями, ведь в случае сбоя критические данные могут не быть восстановленными в заданное время или, что еще хуже, могут быть частично или полностью потеряны.
Чтобы пользователи могли быть уверенными в восстановлении критических данных в случае сбоев, разработчики Veeam Backup & Replication реализовали технологию SureBackup, позволяющую автоматически проверять возможность восстановления данных из резервной копии. Несмотря на то, что SureBackup существует уже более 2 лет, об этой возможности знают не все. Мы попробуем внести ясность в коротком посте ниже.
Как это работает
После каждого цикла резервного копирования автоматически запускается проверка SureBackup. Только что созданный файл резервной копии читается, из него автоматически запускаются виртуальные машины в изолированной виртуальной сети, выполняются Ваши проверочные скрипты при их наличии, после чего посылается отчет о результатах тестирования.
- Виртуальные машины запускаются (читаются) прямо из файла резервной копии без его распаковки.
- Благодаря 1-ой особенности для тестирования необходимо минимум дискового пространства на имеющемся оборудовании.
- Можно создавать связки машин для тестирования (Application Group), например, для тестирования Microsoft Exchange Вам сначала потребуется домен контроллер.
- Изолированная виртуальная сеть (виртуальная лаборатория) позволяет тестировать виртуальные машины без изменения конфигурации сетевых настроек.
- Вы сами можете создать скрипты для тестирования и таким образом проверять любые приложения.
- После выполнения задачи SureBackup все аккуратно выключается и подчищается. Сами файлы резервных копий остаются нетронутыми.
1. Создать группу приложений, состоящую из виртуальных машин, которые Вы хотите протестировать.
Рис. 1 Создание группы приложений
Рис. 2 Создание группы приложений: указание имени и описания
Рис. 3 Создание группы приложений: выбор виртуальных машин
Рис. 4 Создание группы приложений: проверка настроек
2. Создать виртуальную лабораторию, которая изолирует эти виртуальные машины от производственной среды. Каждая виртуальная лаборатория включает набор изолированных сетей, виртуальных «свитчей» и группы портов.
Рис. 5 Создание виртуальной лаборатории
Рис. 6 Создание виртуальной лаборатории: указание имени и описания
Рис. 7 Создание виртуальной лаборатории: выбор хоста
Рис. 8 Создание виртуальной лаборатории: выбор хранилища данных
Рис. 9 Создание виртуальной лаборатории: настройка прокси
Рис. 10 Создание виртуальной лаборатории: настройка параметров сети
Рис. 11 Создание виртуальной лаборатории: указание изолированных сетей
Рис. 12 Создание виртуальной лаборатории
Рис. 13 Создание виртуальной лаборатории: настройка сети
Рис. 14 Создание виртуальной лаборатории: проверка и сохранение настроек
3. Создать задание SureBackup, которое привяжет виртуальную лабораторию к группе приложений.
Рис. 15 Создание задачи SureBackup
Рис. 16 Создание задачи SureBackup: указание имени и описания
Рис. 17 Создание задачи SureBackup: выбор виртуальной лаборатории
Рис. 18 Создание задачи SureBackup: выбор группы приложений
Рис. 19 Создание задачи SureBackup: подключение задачи SureBackup к задаче по созданию резервной копии
Рис. 20 Создание задачи SureBackup: настройка отчета с результатами проверки
Рис. 21 Создание задачи SureBackup: настройка графика запуска
Рис. 22 Создание задачи SureBackup: проверка настроек
Задача SureBackup может тестировать любую резервную копию каждый раз согласно настроенному графику. При проверке задача SureBackup запустит виртуальные машины в группе приложений внутри изолированной среды, проверит операционные системы, приложения, т.д. По окончании теста SureBackup остановит виртуальные машины и отправит отчет с результатами теста.
Рис. 23 Статистика работы задачи SureBackup
До появления технологии SureBackup тестовое восстановление данных было труднодостижимой целью. С внедрением SureBackup тестирование и верификация резервных копий стали значительно проще, и теперь администраторы могут быть уверенными, что все резервные копии надежны на 100%.
Если хотите узнать больше технических подробностей, читайте этот пост в блоге на нашем официальном сайте (на английском).
Добрый день!
Помогите написать батник, суть ниже:
Нужно копировать файлы по сети с записью лога (имена скопированых файлов). И чтобы перед следующим копированием шла сверка с записью в логах, если ранее файл копировался - то его не копируем, если в логах отсутствует - копируем.
Спасибо!
Добавлено через 23 часа 3 минуты
Пожалуйста помогите! Очень нужно.
Копирование файлов с проверкой
Подскажите как правильно написать батник для копирования файла из каталога в другой каталог с.
Проверка наличия на диске в указанном каталоге перечисленных в списке файлов и вывод имен отсутствующих
Проверка наличия на диске в каталоге, указанном первым параметром КФ файла FNames.txt, содержащего.
Проверка наличия файлов для каждого дня месяца и копирование недостающих
Добрый день, есть такая ситуация,в папках содержаться архивы формата 2015-01-01-имя.7z, так нужно.
Проверка наличия папки и последующее копирование файлов в зависимости от разрядности системы
Доброго времени! Возникла потребность в написании скрипта для копирования расширения.
Добавлено через 18 минут
Этот код подходит только применительно к файлам в заданной папке без рекурсии.
Добавлено через 28 минут
Возможно, Вам стоит еще посмотреть эту тему: Создание лога копирования файлов: что, куда и сколько времени на это ушло
Спасибо!
Скриптик помог.
Подскажите пож что нужно дописать чтобы одним скриптом копировать инфу с разных источников в разные папки и вести отдельный к каждому копированию лог?
Пример:
Добавлено через 11 минут
Батник будет запускаться в три часа ночи (ежедневно), нужно чтобы ко всему Вами написаному не копировались файлы созданные в день выполнения батника.
Почему это нужно. Файл созданный утром на протяжении дня пишет инфу.
Подскажите пож, что нужно дописать?
Добрый день!
Скрипт с /minage:1 работает (robocopy.exe отсутствовала в системе).
При выполнении скрипта заметил один нюанс:
- После первого копирования в лог пишется файл который не скопировался. (Этот самый лог предназначен для записи скопированых файлов и дальнейшей сверки при послед-х копированиях);
- А вот уже после второго копирования в этот самый лог записываются и сами скопированые файлы.
Получается, что не скопированые файлы которые попали в этот лог завтра не будут скопированы.
Подскажите пож как устранить такую коллизию?
Т.е. была ошибка во время копирования?
Нужна проверка, если файл скопирован без ошибок - записывать в лог.
Так, я понимаю?
После подкидывания робокопи.ехе при копировании ошибок не было.
Нужно вести лог скопированых файлов, но не копировать файлы за текущий день (такую инфу не писать в лог, либо же писать но не в тот в который записываются скопированые файлы).
Итого, что есть:
1. Файлы копируются и пишутся в лог; (+)
2. При след копировании идет сверка по ранее записаным файлам в лог; (+)
3. Копирование файлов не включая тек. день (+). Такие файлы пишутся в лог ранее скопированых файлов. (-)
m0z0k, я это учел.
Просто, утилита robocopy выдает особенные коды возврата ошибок. (обычно успешное завершение всегда 0, а тут не совсем так ):
1 - успешно скопирован новый файл
0 - успешно заменен файл.
Т.е. там в последней строке вместо цифры 0 нужно поставить 1.
Привет!
Подскажи пож как задать копирования только одного формата файлов?
В таком исполнении сперва копируется заданный формат, а потом все остальное. Мне нужно чтобы только заданный формат копировался.
Поправь пож как будет правильно.
set $from=C:\Program Files\Tenable\Nessus\nessus\users\reports
set $dest=C:\Arc\Rep
set $log=C:\Arc\ness_rep_copy.log
for /f "delims=" %%i in ('dir "%$from%" /B/A:-D') do Call :CheckLog "%%i"
goto :eof
:CheckLog
If Exist "%$log%" For /f "delims=" %%a in (%$log%) Do If "%%a"=="%~1" Exit /B
C:\Arc\robocopy.exe "%$from%" "%$dest%" *.nessus "%~1"
if %errorlevel%==1 (echo.Copy is successful - %~1&echo.%~1>>"%$log%")
cd C:\Arc\Rep
for %%I in (*.nessus) do copy nul "%%~nI.nessus_done"
указанный во втором параметре (если он не существует, то создать его).
Если имеются файлы с одинаковыми именами, то при копировании изменить имя,
добавив к нему «.1», например, file.c скопировать в file.c.1.
Вывести на экран и записать в файл report протокол проведенных действий.
Можете помочь написать пожалуйста)
Копирование файлов с проверкой их наличия в списке копированных ранее
Добрый день! Помогите написать батник, суть ниже: Нужно копировать файлы по сети с записью лога.
Копирование файлов с проверкой
Подскажите как правильно написать батник для копирования файла из каталога в другой каталог с.
Копирование файлов в папки на FTP-сервере, соответствующие частям имён этих файлов
Всем доброго времени суток! Подскажите, как реализовать CMD-файлом. Есть папка, н-р, с:\temp, в.
Ну конечно же, для этого форум и существует. Вам необходимо разбить задачу на составляющие, например:
Что видим? Необходимо создать исполняемый файл, прописать строчку ша бэнг(вызывающую интерпретатор) и вывести
на экран передаваемый скрипту параметр. Всё, начало положено. Попробуйте сделать это и покажите что у вас получилось. И так по порядку. Установили задачу, выполнили. Если что-то не получается, несмотря на попытки, то выложили сюда ошибку.
начало примерно так должно выглядеть?)
meganub-bash,
Есть рациональное зерно! Я имела в виду разбить еще мельче. Задали один параметр скрипту, посмотрели, что он вывел. Не торопитесь идти дальше, старайтесь иметь под рукой работающую программу постепенно усложняя её. Например, я имела в виду чтобы получилось следующее:
То есть вывести на терминал параметр скрипта. В этой задаче даже нет необходимости в присваивании значения переменной. Но по любому вы на верном пути если чуть вернетесь назад и поработаете над ошибками. Запустите ваш скрипт и посмотрите что он выдаст. В ошибках очень много подсказок.
На элементарные вопросы легко искать и ответы по ключевым словам, если что-то не получается. Например: "bash: Присваивание значений переменным" или "bash: Позиционные параметры". Если получили ошибку на английском, это еще лучше. Это прекрасная возможность подтянуть и эту дисциплину. IT специалисту без английского нельзя. Гугл может разобраться как с переводом, так и поиском похожих, уже решенных проблем. У вас хорошо получилась строчка ша бэнг (вызов интерпретатора). С остальным необходимо поработать.
Программа для копирования файлов по сети. Можно также копировать файлы на локальные диски - иногда это может ускорить копирование больших файлов в 2-3 раза.
Пользовательский интерфейс на основе скинов. Встроенный в оболочку проводник make очень прост в использовании. Вы можете скачать любые файлы и каталоги, нажав правую кнопку и выбрав KillCopy для . чтобы изменить целевой каталог. KillCopy может завершить работу системы после завершения копирования, воспроизвести звук и попросить пользователя открыть целевой каталог. KillCopy может одновременно копировать файлы в несколько папок.
Также вы можете запустить KillCopy из командной строки.
Альтернативы для KillCopy
615
Утилита передачи файлов для Mac и Windows.
Бесплатная утилита, предназначенная для быстрого и безопасного копирования файлов. Она может проверить скопированные файлы, чтобы убедиться, что они идентичны. Она пропускает плохие файлы во время копирования, не прерывая всю передачу. Полная интеграция с Проводником Windows.
75
FastCopy - это программное обеспечение для копирования / резервного копирования в Windows.
FastCopy - самое быстрое программное обеспечение для копирования, удаления и синхронизации в Windows. Оно использует современную проверку контрольной суммы для обеспечения точности копирования и целостности данных. Приложение обрабатывает длинные имена путей Unicode через MAX_PATH (260 байт) и автоматически оптимизирует операции режима копирования между одним и тем же или различными устройствами хранения.
61
SuperCopier заменяет копию файла проводника Windows и добавляет множество функций.
- Условно бесплатная
- Windows
- Mac OS
Ultracopier - это современное и в то же время простое в использовании портативное приложение, которое позволяет пользователям копировать или перемещать файлы и папки с помощью нескольких щелчков мыши. Этот инструмент был разработан для обеспечения ограничения скорости, управления ошибками / коллизиями, перевода и многих других интересных функций. Доступен на многих языках и в портативной версии.
50
SuperCopier заменяет копию файла проводника Windows и добавляет множество функций.
SuperCopier заменяет копию файла проводника Windows и добавляет множество функций: возобновление передачи, контроль скорости передачи, вычисление скорости передачи, улучшенное отображение хода выполнения, более быстрые передачи, редактирование списка копий при передаче, журнал ошибок, сохранение/загрузка списка копий.
47
Copywhiz значительно ускорит копирование файлов и автоматическое резервное копирование в Windows.
Copywhiz расширяет возможности копирования файлов в Windows. Он обеспечивает большую гибкость при копировании и резервном копировании файлов, позволяя выбирать, какой тип файлов копировать, а какие игнорировать.
33
Robocopy, или «Надежная копия файла», - это команда репликации каталога из командной строки.
Robocopy, или «Надежная копия файла», - это команда репликации каталога из командной строки. Она была доступна как часть Windows Resource Kit, начиная с Windows NT 4.0, и была представлена как стандартная функция Windows Vista, Windows 7 и Windows Server 2008.
20
GS RichCopy 360 - ЕДИНСТВЕННАЯ утилита для копирования файлов, использующая собственную проприетарную многопоточность.
GS RichCopy 360 - это ЕДИНСТВЕННАЯ утилита копирования файлов, использующая собственную запатентованную технологию многопоточности, которая использует все доступные логические ядра в системе. Его производительность была оценена номером 1 многими различными технологическими экспертами. Он используется тысячами клиентов по всему миру и во многих 500 компаний.
17
Поверь мне, когда я скажу тебе, что это ответ на все твои потребности в копировании файлов.
Поверь мне, когда я скажу тебе, что это ответ на все твои потребности в копировании файлов. Что вас больше всего поразит в первый раз, когда вы используете RichCopy, - это инструмент многопоточного копирования. Это означает, что вместо копирования по одному файлу за раз в последовательном порядке
Копирование файлов с проверками (подобие xcopy из win)
Модератор: /dev/random
Читайте также: