Бекап макбуков на удаленный сервер Time Machine для путешественников / Хабр
Принцип работы утилиты Time Machine Traveler HelperУ меня есть рабочий макбук и я часто путешествую. Я боюсь потерять данные на нем, поэтому я делаю бекапы через родную Time Machine на удаленный сервер. Для этого я поднял в офисе сервер SMB, который всегда доступен через VPN.
Проблема: если включить автоматический бекап в Time Machine, система будет постоянно бекапится даже через тонкий мобильный интернет в самолете, мешая работать, исчерпав весь канал.
Решение: я написал скрипт Time Machine Traveler, который проверяет скорость доступа к SMB шаре и запускает бекап только если качество соединения высокое.
Мой скрипт работает так
Проверяет доступность SMB сервера через VPN
Если сервер доступен, запускает тест скорости через
iperf3
Если скорость хорошая, запускает бекап
Настройка сервера
Чтобы развернуть такой же сетап, вам потребуется поднять Samba сервер и настроить к нему удаленный доступ через VPN. Вы можете сделать это любым удобным способом. Я расскажу про свой способ.
VPN
Мы на работе используем модный ZeroTier. Это не совсем VPN, так как в нем нет центрального сервера, а все соединения происходят напрямую, через P2P. Это позволяет получить максимальную скорость между клиентом и SMB сервером.
В ZeroTier подключения внутри VPN сети происходят напрямуюВ обычной схеме с VPN сервером вы всегда ограничены качеством канала между вами и сервером. И даже если офис находится в соседнем здании, вы все равно будете пропускать трафик через VPN сервер, внося задержки. В ZeroTier я выжимаю 100 Mbit/s до офиса из дома с минимальными задержками. При этом мне доступны все хосты внутри VPN сети, и чем ближе я физически к целевому хосту, тем лучше скорсть. Такое невозможно получить с центральным VPN сервером.
Я обожаю ZeroTier за его простоту в настройке. Я пользуюсь и OpenVPN и IPSec Ikev2 и все это ужасно. Сейчас добавление нового клиента в VPN сеть у нас на работе выглядит так:
sudo zerotier-cli join <network id>
Дальше администратор апрувит добавление нового клиента в веб-морде и все. Там же в веб-интерфейсе можно легко отключить клиента. Кайф!
SMB сервер
Для бекапа в Time Machine вам потребуется развернуть SMB сервер на дисковом хранилище. Это может быть NAS или голая Samba. Я использую обычную Samba настроенную по этому мануалу, чтобы включить расширения протокола для macOS.
С недавнего времени Apple забросили поддержку своего протокола AFP (Apple Filing Protocol), поэтому все мануалы по настройке сервера для Time Machine, где используется AFP устаревшие, не используйте их. Теперь достаточно обычного SMB.
Speed Test
Чтобы измерять скорость до SMB хранилища, я развернул на том же сервере iperf3, который всегда слушает порт и ждет клиентов для замеров скорости сети.
apt install iperf3
И добавил его как сервис:
# systemctl cat iperf3.service # /lib/systemd/system/iperf3.service [Unit] Description=iperf3 server After=syslog.target network.target auditd.service [Service] ExecStart=/usr/bin/iperf3 -s [Install] WantedBy=multi-user. target
Настройка клиента
В нашем случае клиенты это макбуки путешественников. На них нужно настроить Time Machine на удаленный сервер как обычно. При настройке важно подключаться к SMB серверу по тому адресу, который будет доступен через VPN.
Подключение к SMB шаре
ВАЖНО: при подключении к SMB хранилищу нужно поставить галочку «Сохранить пароль в ключнице, иначе мой скрипт не сможет сам подмонтировать диск в фоне.
При подключении к удаленному SMB важно сохранить парольАктивация Time Machine
Если у вас правильно настроена Samba, удаленный диск появится в списке доступных для бекапа в Time Machine. Активируйте его и выполните первый самый долгий бекап. Размер бекапа будет равен объему занятого места на диске. Когда первичный бекап выполнен, нужно убрать галочку «Автоматический Бекап».
ВАЖНО: если дисковое хранилище общее, выбирайте опцию «шифровать бекап» в time machine, иначе все ваши файлы будут лежать на сервере в открытом виде.
Установка скрипта Time Machine Traveler Helper
Мой скрипт это плагин для утилиты xbar. Эта утилита запускает шелл скрипты в фоне и красиво форматирует их вывод в системном трее.
Вот мой плагин Time_Machine_Traveler.py (Это Pull Request в библиотеку плагинов xbar)
Он еще сырой и я не буду советовать всем его устанавливать. Вам придется самому разобраться как добавить его в xbar. В данный момент я приглашаю только разработчиков протестировать и доработать плагин.
Настройки скрипта
У скрипта есть настройки, для работы вам нужно их заполнить
SMB_SHARE_ADDRESS — адрес SMB сервера, IP или домен, например
10.30.22.1
WORKGROUP_NAME — имя рабочей группы на SMB сервере. В моем случае стандартное
WORKGROUP
SMB_MOUNT_PATH — полный путь по которому будет доступно SMB хранилище в системе. В моем случае это
/Volumes/pavel
Его можно посмотреть, когда SMB хранилище смонтировано с помощью утилитыdf
SMB_USER — имя пользователя с которым подключаться к SMB
SMB_SHARE_PATH — имя SMB папки на сервере. Оно показано, когда вы подключаетесь к SMB серверу. В моем случае это просто
pavel
SPEED_TEST_SERVER — адрес сервера на котором установлен iperf3. В моем случае это тот же адрес, что и SMB хранилище
SPEED_TEST_DURATION — время, которое будет выполняться тест скорости. По умолчанию это 10 секунд, что для меня слишком долго, так как в этот момент канал нагружается полностью. Я поставил 3 секунды
SPEED_TEST_TIMEOUT — таймаут подключения к серверу iperf3 в миллисекундах. Это те же задержки, которые мы видим в ping. Если поставить значение меньше 100мс, это автоматически отрежет бекап через мобильный интернет.
MIN_SPEED — минимальная скорость до сервера в Mbit/s. Я ставлю 60 мегабит.
MAX_LOAD_AVERAGE — я ненавижу, когда бекап включается в момент, когда я кодирую видео на ноутубуке. Поэтому скрипт проверяет насколько нагружена система и если LA больше этого значения, то не запускает бекап. Я ставлю 5
Скриншоты
Скорость до SMB сервера слишком медленная, бекап отмененВыполняется бекап. Прогресс и оставшееся время пока не показываются⚠️ Помогите в тестировании
Это полезный инструмент для удаленных сотрудников и тех кто путешествует. На текущий момент скрипт находится в alpha версии и я прошу вас принять участие в тестировании и доработке скрипта, потому что мне уже лень.
TODO
Скрипт не готов до конца, нужно еще:
Убрать зависимость от стороннего python3 из brew. В идеале хочется использовать стандартный системный питон
Убрать зависимость от osascript
Сократить настройки: брать настройки адреса SMB шары и всех путей из вывода
tmutil destinationinfo
Показывать прогресс бекапа через tmutil status. Вот референс
Брать дату последнего успешного бекапа из tmutil status и на основании этого сделать возможность настройки интервалов бекапов: если последний успешный бекап старше N дней, запускаем бекап.
Еще 4 важных совета по использованию Wayback Machine
Изображение: Shutterstock
Крейг Сильверман из ProPublica объясняет, как массово архивировать страницы, сравнивать изменения и видеть, когда элементы страницы были заархивированы.
В предыдущем выпуске Digital Investigations были даны советы, как максимально эффективно использовать Wayback Machine. Теперь я вернулся с еще большим количеством советов благодаря интервью с Марком Грэмом, директором Wayback Machine.
Он указал на несколько особенностей, о которых я забыл упомянуть, а также на одну, о которой я не знал. Мы также говорили о проблеме архивирования контента социальных сетей.
Wayback Machine управляется Интернет-архивом, 27-летней некоммерческой организацией, занимающейся предоставлением универсального доступа ко всем знаниям. «Мы — цифровая библиотека, — сказал Грэм.
Как у библиотеки, у нее есть посетители, а не пользователи, сказал он. Давайте рассмотрим некоторые полезные функции для журналистов и исследователей.
Функция «Изменения» позволяет сравнивать разные версии одной и той же заархивированной страницы и видеть различия.
«Возможно, журналист пишет статью, показывающую, как контент на веб-странице менялся с течением времени», — сказал Грэм. «В этом случае им нужно будет знать о функции «Изменения» Wayback Machine, где вы можете сравнить материал по одному URL-адресу в два разных момента времени».
Функция «Изменения» доступна из верхнего меню любой заархивированной страницы, которую вы просматриваете в Wayback Machine:
Изображение: Скриншот
Вы также можете загрузить его напрямую, используя следующий формат URL: https://web.archive.org/web/changes/https://www.nytco.com/journalism/
Поместите URL-адрес, который вы хотите сравнить, после https://web.archive.org/web/changes/ , и откроется страница, на которой показаны сетки архивов по годам:
Изображение: Скриншот, Wayback Machine
Каждый заштрихованный квадрат соответствует снимку страницы, а цветовая легенда указывает, в какие дни могут быть значительные изменения.
Я выбрал страницу за начало марта 2023 года (слева) и страницу за начало января 2022 года (справа). Сравнение показало, что на корпоративной странице New York Times, посвященной ее журналистике, были обновлены параметры меню и текст нижнего колонтитула:
Изображение: Скриншот, Wayback Machine
Основное описание Wayback Machine заключается в том, что он собирает и хранит архивы веб-страниц. В реальности немного больше нюансов.
«Сеть запутана, сеть постоянно меняется», — сказал Грэм. «И когда я говорю постоянно меняющийся, это также может быть динамичным».
Я спросил его, насколько мы можем быть уверены в том, что архив точно показывает, что было на странице в дату и время, указанные в Wayback Machine. Короткий ответ: да, вы можете быть уверены. Но элементы архивной страницы могут быть взяты из разных архивных материалов, каждый со своей временной меткой.
Вот тут-то и возникает нюанс.В Wayback Machine есть функция, позволяющая просматривать временные метки различных элементов на странице. Вы получаете к нему доступ, нажав кнопку «Об этом захвате» в правом верхнем углу захвата страницы:
Изображение: Скриншот
Используя https://www.nytco.com/journalism/ в качестве примера, вот что мы получаем:
Изображение: Скриншот, Wayback Machine
Несмотря на то, что страница была заархивирована 20 октября 2021 г., захват содержит некоторые элементы из более поздних архивов. Большинство элементов страницы, перечисленных выше, являются изображениями, составляющими шаблон страницы. Пара файлов — это JavaScript и CSS. Грэм объяснил, что Wayback Machine использует различные изображения, файлы JavaScript и CSS, чтобы создать страницу, когда вы ее просматриваете.
«Когда мы воспроизводим страницу, мы на самом деле берем и собираем все реквизиты страницы, представленные отдельным URL-адресом, с собственным архивом, и собираем их вместе», — сказал он. «Одна из проблем заключается в том, что каждый из этих объектов может быть заархивирован в разное время».
Например, главная фотография в верхней части страницы («17XP-PULITZERS2-superJumbo-article.jpg») была взята из снимка, сделанного за 8 дней до того, как я загрузил архив. Если эта фотография или файл важны для вашего расследования, вы можете проверить страницу их архива, чтобы узнать, не изменились ли они с течением времени, или поискать снимок ближе к намеченной дате. Но пока этот файл остается неизменным с течением времени, все в порядке.
Изображение: скриншот корпоративного веб-сайта New York Times
.Как общее, но не абсолютное правило, основной текст типичной веб-страницы не извлекается из отдельной страницы или файла. Поэтому вероятность того, что он будет затронут этой динамикой, меньше. Но самый безопасный вариант — проверить «Об этом снимке» и убедиться, что текст, изображения или другой элемент на снимке страницы, который вы цитируете, соответствуют интересующей вас дате.
Изображение: снимок экрана, Интернет-архив
После завершения вы увидите этот экран. Нажмите «Архивировать URL».
Изображение: снимок экрана, Интернет-архив
Теперь вы можете вставить ссылку на свою таблицу Google, содержащую URL-адреса, которые вы хотите заархивировать.
Изображение: снимок экрана, Интернет-архив
Поскольку вы подключились к своим учетным записям Google и archive.org, все снимки будут храниться в вашей учетной записи archive.org для быстрого поиска.
«Эта функция появилась, потому что моя жена однажды спросила меня: «Марк, как я могу легко заархивировать кучу URL-адресов?», — сказал он.
Грэм работал с инженерами Интернет-архива, чтобы это произошло.
«Многие, многие, многие функции Wayback Machine существуют сегодня, потому что покупатель попросил их, посетитель задал вопрос или сделал предложение или рекомендацию», — сказал Грэм. «Мы очень ценим запросы и вопросы».
Он призвал людей писать по электронной почте info@archive. org.
«Мы получаем сотни электронных писем в день, и у нас есть команда людей, которые просматривают их и отвечают на них, — сказал Грэм. «Я лично отвечаю на сообщения о Wayback Machine, которые не могут быть обработаны на первом уровне реагирования».
Он особенно призвал журналистов обращаться, если у них есть вопросы или пожелания.
Опытные пользователи Wayback Machine знают, что архивирование контента социальных сетей может быть как сложным, так и невозможным. Это связано не столько с его функциональностью и ограничениями, сколько с тем, как такие компании, как Meta, пытаются помешать парсингу.
Вот что сказал Грэм о том, почему сложно архивировать контент из социальных сетей:
Точно так же, как некоторые другие веб-сайты сложнее архивировать, чем другие веб-сайты, в частности, Facebook и Instagram представляют собой проблемы. Они принимают активные меры, чтобы попытаться предотвратить разного рода автоматизацию, в том числе скрейпинг. Если вы зайдете на сайт Facebook, например, там есть раздел о веб-скрапинге, где они рассказывают о персонале, который они посвятили усилиям по предотвращению веб-скрапинга и веб-архивирования.
Мы уважительно относимся к сети. Это не наш материал. Как библиотека, мы работаем над тем, чтобы сделать материалы общедоступными. Так что в случае с Facebook и Instagram мы стараемся. И мы считаем, что для нас вполне уместно архивировать общедоступную информацию. Так можно сказать, например, общедоступные Facebook-страницы ведомств связи страны Украины или Китая.
Одной из обнадеживающих новостей является то, что Грэм сказал, что Wayback Machine «активно работает с несколькими медиа-организациями», пытаясь улучшить архивирование в социальных сетях. Надеюсь, скоро все улучшится.
Этот пост был первоначально опубликован в информационном бюллетене Craig Silverman’s Digital Investigations Substack и перепечатан здесь с разрешения.
Дополнительные ресурсы
Мои любимые инструменты с Крейгом Силверманом из BuzzFeed
5 инструментов онлайн-поиска, облегчающих жизнь журналистам
Советы по использованию Wayback Machine Интернет-архива в вашем следующем расследовании
Крейг Сильверман — национальный репортер ProPublica, освещающий вопросы голосования, платформ, дезинформации и онлайн-манипуляций. Ранее он был медиа-редактором BuzzFeed News, где первым освещал цифровую дезинформацию.
Как использовать Wayback Machine для Твиттера
Последний раз это сообщение было обновлено 29 марта 2023 года.
Если вы часто пользуетесь Интернетом, возможно, вы слышали о чем-то, что называется Wayback Machine. Хотя это может звучать как то, что вы ожидаете увидеть в таком фильме, как «Назад в будущее», Wayback Machine — это просто архив веб-страниц в Интернете.
Это бесплатная услуга, предоставляемая некоммерческим интернет-архивом, чья миссия состоит в обеспечении универсального доступа ко всем знаниям. Сайт архивирует Интернет, книги, аудио, видео, изображения и даже программное обеспечение, найденное в Интернете. Как и Википедия, Интернет-архив позволяет пользователям с бесплатной учетной записью загружать медиафайлы, а боты, волонтеры и оплачиваемые сотрудники помогают управлять сайтом. Вы можете получить доступ к сервису через веб-сайт или приложение.
Помимо других применений и преимуществ, некоторые интернет-сыщики обнаружили, что вы можете использовать Wayback Machine для поиска старых или удаленных твитов из Twitter. Если вам когда-либо было любопытно узнать, что Wayback Machine заархивировало вас или кого-то еще, продолжайте читать, чтобы узнать, как использовать Wayback Machine!
Работает ли Wayback Machine в Twitter?
Да! Wayback Machine работает с Twitter и другими социальными сетями. Поисковик не делает скриншоты отдельных твитов, но покажет вам все скриншоты самых популярных страниц Twitter по дате.
Главное, вам нужно знать URL профиля, который вы ищете. Wayback Machine — это поисковая система, поэтому, если вы укажете ей правильный URL-адрес, который ищете, она покажет вам результаты всего заархивированного контента и сообщений из этого профиля.
Это помогает находить твиты, которые могли быть удалены их создателем, обнаруживать дезинформацию и находить свидетельства неидеальных твитов, лайков или комментариев, которые могут повлиять на вашу репутацию.
Может ли Wayback Machine показывать удаленные твиты?
Если вы знаете URL-адрес профиля Twitter, который вы ищете, и приблизительный диапазон дат твитов, которые вы ищете, Wayback Machine может показать вам удаленные твиты из архива.
Важно знать, что не все удаленные твиты могут быть заархивированы. Если пользователь Твиттера быстро удалил твит до того, как он попал на заархивированный сайт, то он может не появиться в Wayback Machine.
Некоторые интернет-пользователи быстро делают скриншоты скандальных твитов, поэтому, если Wayback Machine не работает для вас, у других фанатов, Стэна или комментариев в социальных сетях могут быть доказательства, которые вы, возможно, ищете.
Машина Wayback свободна?
Интернет-архив предлагает пользователям Wayback Machine бесплатную услугу. Сайт принимает пожертвования для финансирования своей миссии, но в пожертвованиях нет необходимости. Большинство услуг на сайте бесплатны, но есть возможность оформить подписку на архив, если эта услуга больше соответствует вашим потребностям.
Как пользоваться Wayback Machine:
Wayback Machine архивирует скриншоты популярных страниц Twitter. Чтобы использовать Wayback Machine для Twitter, выполните следующие три шага:
Шаг 1: Найдите профиль пользователя Twitter
Одним из недостатков использования этой службы является то, что она не может показать вам огромное количество снимков экрана, которые она архивировала на протяжении всей истории. . Вы не можете искать конкретные твиты, а можете искать отдельные профили, которые являются авторами твитов.
Вместо этого поисковая система идентифицирует профиль Twitter по URL-адресу и затем предоставляет вам доступ ко всем архивам этого конкретного профиля.
Шаг 2: Выберите диапазон дат
Далее вам нужно ввести диапазон дат для искомых исторических записей. Вы можете сузить его до скриншотов за этот день, месяц и год. Это помогает поисковой системе сузить результаты до только наиболее релевантных вашему запросу.
Шаг 3: Просмотр результатов
Наконец, вы сможете увидеть снимки экрана, сделанные из этого профиля Twitter, в том виде, в каком они были просмотрены именно в этот день. Хотя вы не сможете прокручивать, как если бы вы были на живой веб-странице, вы сможете увидеть исторические скриншоты самых популярных твитов из этого профиля в этот день.
Обратите внимание! Если интересующий вас профиль в Твиттере не имеет достаточного количества подписчиков или обязательств, у Wayback Machine может еще не быть архивов для него.