<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10245&amp;type=atom" />
	<updated>2014-12-16T12:07:56Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10245</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89431#p89431" />
			<content type="html"><![CDATA[<p>В чистом виде &quot;на лету&quot; анализировать содержимое большого (~4Гб) файла на флешке, по времени выйдет не меньше, чем просто копирование. Можно предварительно подсчитать хеш блоков по несколько мегабайт, хотя опять же его придется где-то хранить - или в отдельном файле, или в альтернативном потоке NTFS. Перед копированием нужно у новой версии файла на жестком диске считать хеш-суммы, и заменять на флешке те блоки, у которых суммы не совпадают.<br />В таком случае объект <strong>File</strong> может быть полезен, да. Но тут слишком много нюансов, которые могут перевесить все &quot;плюсы&quot; такого подхода.</p><p>Upd: <strong>serzh82saratov</strong> опередил мою мысль. ))</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2014-12-16T12:07:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89431#p89431</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89426#p89426" />
			<content type="html"><![CDATA[<p>По моему проще на FTP хранить список с хешем файлов. Сравнивать их. Если есть изменения, то переписать весь файл, ввести новый хеш в список. Зачем частями, если всё равно перелопачивать весь файл по частям, экономии трафика всё равно никакой, а времени больше.<br /></p><div class="quotebox"><blockquote><p>Но ведь есть же программы которые синхронизируют только изменившиеся части файлов</p></blockquote></div><p>Возможно они создают хеши частей файла.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-12-16T11:52:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89426#p89426</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89425#p89425" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>avens пишет:</cite><blockquote><p>Но ведь есть же программы которые синхронизируют только изменившиеся части файлов, та же Syncovery к примеру..<br />Как они тогда сравнивают, ведь если бы не было скорей, то не делали бы такой функции?</p></blockquote></div><p>Как они работают и какова их надёжность - не знаю. Догадываюсь, что они в течение продолжительного времени перелопачивают большие файлы, после чего выявляют изменения. Лопатить флешку или файл по Wi-Fi, тем более лежащий на FTP... Как говорит мой знакомый - &quot;картошку по телефону перебирать&quot;.</p><p>Долгий и сомнительный алгоритм. Проще создавать некую метку, в которой будет информация о &quot;свежести&quot; файла. Самое простое - сравнить дату последнего изменения и размер файла.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-12-16T11:46:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89425#p89425</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89421#p89421" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Этой функцией можно загружать определенную часть файла по установленному адресу?</p></blockquote></div><p>Нет. Но как Вы сказали, это пока неважно.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-12-16T11:30:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89421#p89421</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89420#p89420" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>К чему авторизация на сайтах... к моей задаче?</p></blockquote></div><p>Пример скачивания файла частями, ни к чему?</p></blockquote></div><p>Уже исправил свой ответ, просто сразу не заметил к чему это <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Пока что вопрос стоит в том, стоит ли делать такой скрипт и будет ли он оправдан по скорости и нагрузке системы.<br />Хотелось бы узнать прежде чем писать что то.</p>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2014-12-16T11:28:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89420#p89420</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89419#p89419" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p>Скорее всего по скорости, простоте и надёжности выиграет тупо копирование на флешку / внешний жёсткий.</p></blockquote></div><p>Но ведь есть же программы которые синхронизируют только изменившиеся части файлов, та же Syncovery к примеру..<br />Как они тогда сравнивают, ведь если бы не было скорей, то не делали бы такой функции?</p>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2014-12-16T11:04:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89419#p89419</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89418#p89418" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>К чему авторизация на сайтах... к моей задаче?</p></blockquote></div><p>Пример скачивания файла частями, ни к чему?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-12-16T11:03:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89418#p89418</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89417#p89417" />
			<content type="html"><![CDATA[<p>Скорее всего по скорости, простоте и надёжности выиграет тупо копирование на флешку / внешний жёсткий.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-12-16T11:00:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89417#p89417</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89416#p89416" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>oFile := FileOpen(fileName, &quot;a&quot;), oFile.Length := 0</code></pre></div><p>Этой функцией можно загружать определенную часть файла по установленному адресу?</p>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2014-12-16T10:56:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89416#p89416</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89410#p89410" />
			<content type="html"><![CDATA[<p>Возможно <a href="http://forum.script-coding.com/viewtopic.php?pid=83761#p83761">это</a> как-то поможет для начала.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2014-12-16T10:29:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89410#p89410</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Синхронизация больших файлов отдельными частями блоками между ПК]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=89406#p89406" />
			<content type="html"><![CDATA[<p>Довольно&nbsp; часто необходимо делать резервное копирования больших файлов по 1Gb - 4Gb, файлы эти являются файловыми контейнерами TrueCrypt, при работе с которыми они изменяются лишь немного, поетому не хочется постоянно копировать весь файл, это занимает не мало времени.<br />В статье на <a href="http://habrahabr.ru/post/164171/">хабре</a> узнал что в облачном сервисе DropBox используется синхронизация файла более 16мб блоками, там что бы не заливать большие файлы полностью, они сначала сравниваются блоками по 4 мб, в итоге передаются только те части файла которые были изменены, что существенно экономит время и трафик.</p><p>Возможно ли реализовать на AHK/CMD подобную программу для синхронизации(резервного копирования) больших файлов отдельными частями, блоками по 4 мб?<br />Надо для синхронизации&nbsp; между ПК и флешкой, а если возможно то и по локальной сети или беспроводной сети WiFi по FTP протоколу.</p><p>К примеру предлагаемый скрипт на AHK будет считывать часть файла оригинала в шестнадцатиричном формате например также по 1 или 4 мб, после по тому же адресу ту же часть файла на флешке, далее сравнивать их, если есть отличия, то перезаписывать часть файла на флешке, если нету, то пропускать, и так далее до конца файла. После выдавать информацию где и сколько блоков, а также мегабайт в целом было изменено.</p><p>Будет ли смысл в такой программе, ведь оба файла по сути надо будет перечитать в оперативную память частями по 4 мб?</p><p>Если нет, то какую альтернативную программу с описанными функциями можете посоветовать?<br />Пробовал Syncthing и BitTorrent Sync, но они немного не подходят, а Syncthing и вообще сырая, как я понял они больше расчитаны для синхронизации по сети для корпоративов.<br />Также есть похожий функционал в программе Syncovery, но не удается настроить для синхронизации отдельного файла, плюс она только на английском языке.</p>]]></content>
			<author>
				<name><![CDATA[avens]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24487</uri>
			</author>
			<updated>2014-12-16T10:12:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=89406#p89406</id>
		</entry>
</feed>
