<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Копирование с помощью dd каталогов</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html</link>
    <description>Возникла проблемка:&lt;br&gt;имеются два каталога /src и /dest&lt;br&gt;&lt;br&gt;В них содержатся поткаталоги в которых соответственно есть файлы, их очень много. &lt;br&gt;Задача значит такая скопировать рекурсивно из каталога /src в каталог /dest.&lt;br&gt;можно конечно писать файлик типа:&lt;br&gt;dd if=/src/dir1/file1.dbf of=/src/dir1/file1.dbf bs=50M&lt;br&gt;&lt;br&gt;Но для тысяч файлов это не практично и ошибиться можно, почему именно dd, потому что отключено кеширование на дисках.&lt;br&gt;&lt;br&gt;Вопрос: куда копать и как быть? Кто может сталкивался?   &lt;br&gt;</description>

<item>
    <title>Копирование с помощью dd каталогов (Mazik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#27</link>
    <pubDate>Mon, 21 Dec 2009 13:43:12 GMT</pubDate>
    <description>Вот новый скриптец, доработанный маленький и с прогресс баром для копирования с помощью dd как каталогов так отдельных файлов&lt;br&gt;&lt;br&gt;duda.sh&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;clear&lt;br&gt;ARGS=3&lt;br&gt;E_BADARGS=65&lt;br&gt;cd .&lt;br&gt;if &#091; $# -ne &quot;$ARGS&quot; &#093;&lt;br&gt;then&lt;br&gt;  echo &quot;Usage order: &#096;basename $0&#096; /source /destination block_size&quot;&lt;br&gt;  exit $E_BADARGS&lt;br&gt;fi&lt;br&gt;&lt;br&gt;source=$1&lt;br&gt;destination=$2&lt;br&gt;block_size=$3&lt;br&gt;&lt;br&gt;&lt;br&gt;progress_bar_and_copy () &lt;br&gt;&#123; &lt;br&gt;    src_file_size=$(stat -c &#037;s $src) &amp;#124;&amp;#124; return $?&lt;br&gt;    dest_file_size=0&lt;br&gt;    bs=$block_size&lt;br&gt;width=$&#123;3:-25&#125;&lt;br&gt;    mega=$(( 1024 * 1024 ))&lt;br&gt;    start=$(date +&#037;s)&lt;br&gt;    dd if=$src 2&amp;gt;/dev/null &amp;#124; (&lt;br&gt;    while &#091;&#091; dest_file_size -lt src_file_size &#093;&#093;&lt;br&gt;    do&lt;br&gt;        dd bs=$bs 2&amp;gt;/dev/null &amp;#124;&amp;#124; return $?&lt;br&gt;        (( dest_file_size += $mega ))&lt;br&gt;        &#091;&#091; dest_file_size -gt src_file_size &#093;&#093; &amp;&amp; dest_file_size=$src_file_size&lt;br&gt;&lt;br&gt;        # Вывод имени файлов&lt;br&gt;        name=$(basename $src &amp;#124; cut -b -20)&lt;br&gt;        printf &quot;&#092;r&#037;-20s &quot; $name 1&amp;gt;&amp;2&lt;br&gt;&lt;br&gt;        # Вывод процентов&lt;br&gt;        percent=$(( 100 * $dest_file_size / $sr</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Mazik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#26</link>
    <pubDate>Thu, 17 Dec 2009 15:19:02 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;вот это очень порадовало (:&#091;code&#093;input_source () &#123; &lt;br&gt;&amp;gt;            &lt;br&gt;&amp;gt;    find $src -follow -type f &amp;#124; while &lt;br&gt;&amp;gt;read string &lt;br&gt;&amp;gt;            &lt;br&gt;&amp;gt;do &lt;br&gt;&amp;gt;        echo $string &lt;br&gt;&amp;gt;    done &lt;br&gt;&amp;gt;&#125;&#091;/code&#093; &lt;br&gt;&lt;br&gt;Согласен код не самый оптимальный но я и не шелловский  гуру &lt;br&gt;главное работает :)&lt;br&gt;</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (jd)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#25</link>
    <pubDate>Thu, 17 Dec 2009 12:50:31 GMT</pubDate>
    <description>Мама дорогая... Вам зарплату за строчки что-ли платят?&lt;br&gt;&lt;br&gt;вот это очень порадовало (:&#091;code&#093;input_source () &#123;&lt;br&gt;                find $src -follow -type f &amp;#124; while read string&lt;br&gt;            do    &lt;br&gt;        echo $string &lt;br&gt;    done &lt;br&gt;&#125;&#091;/code&#093;&lt;br&gt;</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Mazik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#24</link>
    <pubDate>Thu, 17 Dec 2009 11:42:43 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;можно конечно писать файлик типа: &lt;br&gt;&amp;gt;&amp;gt;dd if=/src/dir1/file1.dbf of=/src/dir1/file1.dbf bs=50M &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Но для тысяч файлов это не практично и ошибиться можно, почему именно &lt;br&gt;&amp;gt;&amp;gt;dd, потому что отключено кеширование на дисках. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Вопрос: куда копать и как быть? Кто может сталкивался? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Все народ решил я проблему с dd ураа, если хотите могу выложить &lt;br&gt;&amp;gt;:) &lt;br&gt;&lt;br&gt;Вот скриптец, народ тока сильно не пинайте приму любые пожелания :)&lt;br&gt;&lt;br&gt;ddcopy.sh&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;#&lt;br&gt;# The given script has been created for simplification of process of  &lt;br&gt;# recursive copying of files and directories by means of utility &lt;br&gt;# Dataset definition dd.  &lt;br&gt;# &lt;br&gt;# The author Dmitriy V. Mazitov 2009 &lt;br&gt;# v. 1 &lt;br&gt;# &lt;br&gt;# Usage order the following: &lt;br&gt;# &lt;br&gt;# ddcopy.sh /source_dir /destination_dir bs cf cdd rm &lt;br&gt;# &lt;br&gt;# Explanations: &lt;br&gt;# &lt;br&gt;# bs - a block size in mbytes (the Example: we enter number 50) &lt;br&gt;# &lt;br&gt;# cf - generation of a file of a script (the Example: we enter y or n) &lt;br&gt;# &lt;br&gt;# cdd - the consent to copying (the Example:</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#23</link>
    <pubDate>Thu, 17 Dec 2009 11:32:16 GMT</pubDate>
    <description>&amp;gt;Орокля &lt;br&gt;&amp;gt;в аиксе&lt;br&gt;&amp;gt;отключать буферизацию&lt;br&gt;&lt;br&gt;Ну, я так и подумал, что задача так же крива, как и её решение. $))&lt;br&gt;</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Mazik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#22</link>
    <pubDate>Thu, 17 Dec 2009 11:26:32 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;В них содержатся поткаталоги в которых соответственно есть файлы, их очень много. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Задача значит такая скопировать рекурсивно из каталога /src в каталог /dest. &lt;br&gt;&amp;gt;можно конечно писать файлик типа: &lt;br&gt;&amp;gt;dd if=/src/dir1/file1.dbf of=/src/dir1/file1.dbf bs=50M &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Но для тысяч файлов это не практично и ошибиться можно, почему именно &lt;br&gt;&amp;gt;dd, потому что отключено кеширование на дисках. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Вопрос: куда копать и как быть? Кто может сталкивался? &lt;br&gt;&lt;br&gt;Все народ решил я проблему с dd ураа, если хотите могу выложить :)&lt;br&gt;</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Mazik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#21</link>
    <pubDate>Thu, 17 Dec 2009 11:24:59 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Хотя идея диска и без буферизации -- пуга-а-ает. &#037;) &lt;br&gt;&lt;br&gt;Орокля крутится там, в аиксе на тех дисках нужно отключать буферизацию в системе, а орокля свою систему использует&lt;br&gt;</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#20</link>
    <pubDate>Thu, 17 Dec 2009 11:01:49 GMT</pubDate>
    <description>&amp;gt;А такой вариант не подойдет? &lt;br&gt;&amp;gt;tar -cvf - -C /src . &amp;#124; tar -xpvf - -C /dest/ &lt;br&gt;&lt;br&gt;А добавление &quot;буфера&quot; к нему (именно с помощью dd) как нистранно:&lt;br&gt;&lt;br&gt;tar -cvf - -C /src . &amp;#124;dd bs=10M &amp;#124; tar -xpvf - -C /dest/ &lt;br&gt;&lt;br&gt;Вот здесь- http:/openforum/vsluhforumID1/82553.html#4 про то же с cpio+find, соответственно, варианты с буфером примерно так---&lt;br&gt;&lt;br&gt;$ cd $FROM_DIR; find &amp;#124;cpio -oa --format=newc &amp;#124;dd bs=50K &amp;#124;ssh $NEWHOST &quot;cd $TO_DIR; dd bs=1M &amp;#124; cpio -idmu&quot;&lt;br&gt;&lt;br&gt;$ cd $FROM_DIR; find &amp;#124;cpio -oa --format=newc &amp;#124;dd bs=10M &amp;#124; cpio -idmu $TO_DIR&lt;br&gt;&lt;br&gt;То есть заворачиваем что надо в архив (tar/cpio/...), архив - в конвейер, конвейер читать-писать кусками такого-то размера(=буферизовать), &quot;на той стороне&quot; - распаковать из архива в указанную директорию.&lt;br&gt;&lt;br&gt;Хотя идея диска и без буферизации -- пуга-а-ает. &#037;)&lt;br&gt;</description>
</item>

<item>
    <title>Копирование с помощью dd каталогов (Mazik)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/8555.html#19</link>
    <pubDate>Thu, 17 Dec 2009 10:33:06 GMT</pubDate>
    <description>&amp;gt;А такой вариант не подойдет? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;tar -cvf - -C /src . &amp;#124; tar -xpvf - -C /dest/ &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Недавно копировал таким способом 25 гигов - заняло примерно 20 минут SAS HDD -&amp;gt; SATA HDD.&lt;br&gt;&lt;br&gt;Нет слишком медленно, когда нужно копировать терабайты данных.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
