<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Не работает скрипт резервного копирования для новых файлов]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=37469</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=37469&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Не работает скрипт резервного копирования для новых файлов».]]></description>
		<lastBuildDate>Sat, 24 Jan 2015 05:24:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=442005#p442005</link>
			<description><![CDATA[<div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>конкретная задача - быстрая и эффективная реализация</p></blockquote></div><p>за быстротой и эффективность в bash&#039;е не нужно гоняться. Всё равно тормозить у вас будет tar скорее всего, со своим вводом/выводом.</p><p>ИМХО <strong>гнаться нужно за понятностью и читаемостью</strong>, что-бы через год открыть скрипт, и за минуту его допилить применительно к новым условиям задачи.</p><p>А если вам нужна скорость, то лучше будет заменить HDD на SSD (в данном случае).</p><div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>Плюс к этому проблему (как мне сразу показалось) создания темпового файла я обратил в плюс (это ведь лог-файл непосредственно файлов добавляемых в архив - изучение которого помогло исключить много лишнего и абсолютно ненужного мусора)</p></blockquote></div><p>ага. Я тоже так делаю, потому вариант и первый. Остальные варианты альтернативные, и лично я предпочитаю их не использовать на практике.</p><p>PS: тут в тему будут <strong>nice</strong> и <strong>ionice</strong><br />Эти команды <strong>снижают приоритет</strong> tar&#039;а и find, что-бы они не мешали основной работе.<br /></p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Sat, 24 Jan 2015 05:24:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=442005#p442005</guid>
		</item>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441973#p441973</link>
			<description><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>спрашивайте, что именно непонятно?</p></blockquote></div><p>Док, снимаю шляпу!<br />За, поистине немалый, опыт общения в IT форумах - Вы один из немногих профессионалов, лаконично и без лишнего пафоса объясняете для Вас, вещи элементарные, для же меня - золотой опыт.</p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>(эта команда создаёт только имя, но НЕ файл, но это не важно</p></blockquote></div><p>смысл кода я понял сразу, поэтому не стал углубляться в особенности реализаций в конкретных ОС-nix, конкретная задача - быстрая и эффективная реализация <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /></p><p>Теперь к теме:<br />Я сразу не отписал - извиняюсь - я остановился на первом варианте с промежуточным файлом - более простой (и менее ошибочный из за своей простоты, в чём и более выгодный).<br />Плюс к этому проблему (как мне сразу показалось) создания темпового файла я обратил в плюс (это ведь лог-файл непосредственно файлов добавляемых в архив - изучение которого помогло исключить много лишнего и абсолютно ненужного мусора)</p><p>Ещё раз большое Спасибо!<br />(поставил на Ваш форум прямую ссылку со статьи блога - хоть не материальная, а всё таки благодарность <img src="https://linuxforum.ru/img/smilies/ab.gif" alt="ab" /> )</p>]]></description>
			<author><![CDATA[null@example.com (GTAlex)]]></author>
			<pubDate>Fri, 23 Jan 2015 17:47:04 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441973#p441973</guid>
		</item>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441856#p441856</link>
			<description><![CDATA[<div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>tar: Option --after-date is not supported</p></blockquote></div><p>поставьте tar поновее. Это у вас что, CentOS5 что-ли?</p><div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>первый вариант пашет частично - mktemp не сработал</p></blockquote></div><p>что значит &quot;не сработал?</p><p>Ну вот вам аналог<br /></p><div class="codebox"><pre><code>TMP=&quot;/tmp/tmp.$RANDOM&quot;</code></pre></div><p>(эта команда создаёт только имя, но НЕ файл, но это не важно)<br /></p><div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>но с синтаксисом пока не могу разобраться</p></blockquote></div><p>спрашивайте, что именно непонятно?<br /></p><div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>а вообще я так понял можно в моём варианте create заменить на append и вуаля</p></blockquote></div><p>в принципе да, но <br />1. неудобно обрабатывать ошибки, когда две команды СРАЗУ работают, как у вас в одностроке.<br />2. вам же нужно сжатый архив, а tar --append так не умеет.<br />3. это очень долго, открывать файл, потом туда добавлять… Хотя мой третий пример ещё дольше, т.к. у меня по одному добавляются.</p><p>Да, на практике посмотрите tar --update, это как append, только добавляются<strong> только новые файлы</strong>. Хороший вариант, но тоже работает лишь без сжатия.</p><p>Можно сделать как:<br />1. на сервере хранить бекап без сжатия, и добавлять туда новые файлы<br />2. потом сжимать архив bzip2 --keep, опция НЕ удаляет архив без сжатия<br />3. теперь сжатый архив можно отправить на другой сервер, и удалить с этого.</p><p>Тогда у вас в <strong>одном архиве будут все версии файла</strong>. По умолчанию извлекаются все,но все старые затираются новыми. Это можно изменить, и вытащить старую версию.</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Fri, 23 Jan 2015 10:06:12 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441856#p441856</guid>
		</item>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441807#p441807</link>
			<description><![CDATA[<p>второй вариант</p><p>tar: Option --after-date is not supported</p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>ВАЖНО: для бекапов не нужно так извращаться с одностроками, следует учесть все ошибки.</p></blockquote></div><p>согласен на все 100</p><br /><p>первый вариант пашет частично - mktemp не сработал <br />прописал временный файл явно - всё попёрло</p><p>ещё раз огромное спасибо!</p><p>третий логикой понял, но с синтаксисом пока не могу разобраться </p><p>а вообще я так понял можно в моём варианте create заменить на append и вуаля<br /></p>]]></description>
			<author><![CDATA[null@example.com (GTAlex)]]></author>
			<pubDate>Fri, 23 Jan 2015 06:51:03 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441807#p441807</guid>
		</item>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441805#p441805</link>
			<description><![CDATA[<div class="quotebox"><cite>GTAlex пишет:</cite><blockquote><p>Походу какое то ограничение при передаче параметров из find в tar&nbsp; срабатывает ...</p></blockquote></div><p>всё правильно: xargs режет список аргументов дозами по несколько сотен..тысяч имён файлов. Дальше у вас записано &quot;tar --create&quot; что значит &quot;создать архив&quot;. Он и создаётся несколько раз. Вы наблюдаете только последний вариант.</p><p>Если вы хотите делать обязательно так, то вам следует использовать --append, которая не работает для сжатых файлов, потому вам следует ещё потом сжать, как в третьем варианте.</p><p><strong>ВАЖНО</strong>: для бекапов не нужно так извращаться с одностроками, <strong>следует учесть все ошибки</strong>. А то возможно ситуация, что у вас ошибка в скрипте, а вы думаете &quot;у меня есть бекап&quot;. конец немного предсказуем <img src="https://linuxforum.ru/extensions/bbcode_smiles/img/ak.gif" alt="ak" /></p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Fri, 23 Jan 2015 06:33:44 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441805#p441805</guid>
		</item>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441804#p441804</link>
			<description><![CDATA[<p>Спасибо, буду пробовать</p>]]></description>
			<author><![CDATA[null@example.com (GTAlex)]]></author>
			<pubDate>Fri, 23 Jan 2015 06:31:25 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441804#p441804</guid>
		</item>
		<item>
			<title><![CDATA[Re: Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441802#p441802</link>
			<description><![CDATA[<p><strong>GTAlex</strong>, а если временный файл?</p><div class="codebox"><pre><code>#!/bin/bash

set -x

TMP=$(mktemp)
find -mtime -10 &gt;$TMP
tar --create --files-from $TMP
rm --force $TMP</code></pre></div><p>второй альтернативный вариант:</p><p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">tar --create --after-date &#039;10 days ago&#039;</div></p><p>ну и третий вариант</p><div class="codebox"><pre><code>#!/bin/bash

ARCNAME=&quot;arcname.tar&quot;
:&gt;&quot;$ARCNAME&quot;

while read FILENAME; do
  tar --append --file &quot;$ARCNAME&quot; &quot;$FILENAME&quot;
done&lt; &lt;(find -mtime -10)

bzip2 &quot;$ARCNAME&quot;</code></pre></div><p>варианты 1 и 3 не работают если в имени файла есть перенос строки.</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Fri, 23 Jan 2015 06:26:43 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441802#p441802</guid>
		</item>
		<item>
			<title><![CDATA[Не работает скрипт резервного копирования для новых файлов]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=441799#p441799</link>
			<description><![CDATA[<div class="codebox"><pre><code>find . -type f -mtime -10 -print0 | xargs -0 tar -cjf archive.tar.bz2</code></pre></div><p>Не пашет на рабочем проект (добавилось порядка 2к картинок) - архивирует штук 100 и всё тут<br />Отдельно find запускаю с выводом результатов в файл - всё находит<br />Походу какое то ограничение при передаче параметров из find в tar&nbsp; срабатывает ... <br />Весь день убил - не нашел решение <img src="https://linuxforum.ru/img/smilies/ac.gif" alt="ac" /></p><p>Такая конструкция вроде пашет (без xargs), но когда натравляю её на другую папку вообще тупо виснет<br /></p><div class="codebox"><pre><code>find . -type f -mtime -10 -print0 | zip archive.zip @</code></pre></div><p>Подробнее <a href="http://gtalex.ru/kak-dobavit-v-arxiv-tolko-novye-fajly">тут</a></p>]]></description>
			<author><![CDATA[null@example.com (GTAlex)]]></author>
			<pubDate>Fri, 23 Jan 2015 05:28:45 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=441799#p441799</guid>
		</item>
	</channel>
</rss>
