Делаем бэкап данных Termux

Делаем бэкап данных Termux

@termuxguide
Автор перевода - @Enleann

В этой статье вы узнаете некоторые методы резервного копирования и восстановления своих данных Termux. Настоятельно рекомендуется понять что делают команды перечисленные здесь, перед бездумным копированием - вставкой. Непонятная цель каждого шага может нанести непоправимый ущерб вашим данным, если это случилось с вами - не жалуйтесь.


Содержание

Введение

С помощью tar

  • Бэкап
  • Восстановление

С помощью restic

  • Бэкап
  • Восстановление

Введение

В примерах этой статьи, мы рассмотрим копирование и восстановление как домашнего каталога, так и системного блока.

  1. Домашний каталог, он же $HOME, он же ~, он же /data/data/com.termux/files/home - каталог пользователя, в котором вы оказываетесь когда открывайте первую сессию Termux. Когда вы будете создавать резервную копию этой папки, всё что в ней, будет также скопировано.
  2. Системный блок, он же $PREFIX, он же /data/data/com.termux/files/usr - каталог вмещающий в себе "системный блок", ключевые папки, такие как
termuxguide ~ $ ls ../usr/
bin etc include lib libexec share src tmp var

Из них

bin     - каталог бинарных файлов, программы, другими словами "команды", которыми вы можете воспользоваться в любой момент
etc     - каталог содержащий конфигурационные файлы
include - cтандартные заголовочные файлы
lib     - библиотеки, необходимые для работы программ из bin
libexec - бинарные файлы, используемые другими программами
share   - архитектурно-независимые общие данные
src     - исходные коды
tmp     - временные файлы и папки
var     - изменяемые файлы: регистрации, спулеры, временные почтовые

Если кратко - все перечисленные выше папки и файлы в них необходимы для работы Termux


С помощью tar

Архивирование системных и домашних каталогов - это самый простой способ резервного копирования данных. Такой способ не требует дополнительных пакетов, так как необходимые утилиты уже предоставлены busybox.

В этом примере будет показано резервное копирование как домашнего каталога, так и системного блока. Полученный архив будет храниться на вашем общем хранилище, и будет сжат с помощью gzip.

1. Убедитесь, что разрешение на хранение получено

termux-setup-storage

2. Перейдите в родительский каталог папки home

cd /data/data/com.termux/files

3. Создайте резервную копию папок home и usr

tar -zcvf home/storage/shared/termux-backup.tar.gz home usr

Резервное копирование должно быть завершено без ошибок. Не должно быть никаких отказов в разрешении, если только пользователь не злоупотреблял правами root.

Важно: никогда не храните ваши резервные копии в частных каталогах Termux. Их пути могут выглядеть так:

/data/data/com.termux                      
/sdcard/Android/data/com.termux            
/storage/XXXX-XXXX/Android/data/com.termux 
${HOME}/storage/external-1

Как только вы очистите данные Termux в настройках, эти каталоги тоже будут удалены. Безоговорочно.

Инструкции для домашнего каталога home и каталога usr отдельны, хотя если вы делали резервное копирование, как показано выше, то эти каталоги хранятся в одном архиве. Перед восстановленим всегда предоставляйте доступ к общему хранилищу где и хранится ваш архив

termux-setup-storage

Следуя этим инструкциям, все ваши файлы Termux будут перезаписаны файлами из резервной копии.

1. Перейдите в родительский каталог папки home:

cd /data/data/com.termux/files

2. Замените домашний каталог на тот что из резервной копии:

tar -zxvf home/storage/shared/termux-backup.tar.gz home

Домашний каталог не столько критичен, поэтому никаких дополнительных шагов, таких как закрытие/открытие Termux не требуется.

Восстановление $PREFIX - довольно сложная задача. Вам придётся удалить $PREFIX, где хранятся все системные данные Termux.

1. Перейдите в родительский каталог папки home:

cd /data/data/com.termux/files

2. Скопируйте бинарный файл busybox в текущий каталог (на этом этапе мы одновременно копируем busybox, и переименовываем на tar в текущем каталоге)

cp usr/bin/busybox tar

3. Сотрите системный блок. На этом этапе все пакеты будут удалены.

rm -rf usr

4. Восстановите $PREFIX из резервной копии:

unset LD_PRELOAD
./tar -zxvf home/storage/shared/termux-backup.tar.gz usr

С помощью restic

Restic - это утилита для выполнения инкрементного резервного копирования. Она может работать как с локальными, так и с удаленными резервными копиями. Резервируемые данные шифруются и дедублируются. По умолчанию этот пакет не установлен. Установите его следующей командой:

pkg install restic

Не забывайте предоставлять разрешение на доступ к общему хранилищу

termux-setup-storage

Примечание: Restic предназначен только для продвинутых пользователей. Несмотря на то, что он предоставляет больше возможностей, чем tar, он более сложен в использовании. Большинство людей будут использовать его в скриптах, а не вручную в командной строке. Инструкции здесь приведены только в качестве примера.

На этих шагах будет выполняться резервное копирование только $PREFIX, а не вашего домашнего каталога. Резервное копирование будет храниться в общем хранилище.

1. Инициализируйте локальное хранилище restic. Вам будет предложено ввести пароль, потому что шифрование включено по умолчанию (возможности выключить нет). Если пароль будет утерян - ваши данные будут заблокированы навсегда.

restic init -r storage/shared/termux-backup

2. Сделайте резервное копирование $PREFIX

restic backup -r storage/shared/termux-backup --tag termux $PREFIX

--tag не обязателен, но будет полезен в случае, если вы решите создать резервную копию нескольких каталогов в одном хранилище. Например, таким образом вы можете создать резервную копию домашнего каталога:

restic backup -r storage/shared/termux-backup --tag termux-home $HOME

Как и в случае с резервным копированием на основе tar, восстановление $PREFIX - сложная задача. Следующие шаги применимы только для локальных резервных копий:

1. Убедитесь что разрешение на доступ к общему хранилищу получено

termux-setup-storage

2. Убедитесь, что restic установлен

pkg install restic

3. Скопируйте бинарник restic в $HOME.

cp $PREFIX/bin/restic $HOME/restic

4. Сотрите $PREFIX. Все пакеты будут удалены

rm -rf $PREFIX

5. Восстановите $PREFIX из последнего снимка:

unset LD_PRELOAD
$HOME/restic restore -r storage/shared/termux-backups --tag termux --target / latest

Исходный материал: https://wiki.termux.com/wiki/Backing_up_Termux


Спасибо за прочтение. Возникли вопросы? Есть желание что-то добавить/подправить?

Написать автору перевода - @Enleann


📢Наш канал 👉 t.me/termuxguide

📢Новостной канал 👉 t.me/termuxnews

👥Наш чат 👉https://t.me/joinchat/LPoOWVlTjQr3_hOqJQp7Qw

📝Правила чата 👉 https://telegra.ph/Pravila-02-17-4

🎥Наш YouTube 👉 https://www.youtube.com/channel/UCarM3p7WADTtauCIRdqHpsg

🤝Связь с администрацией 👉 @suptermux_bot

🛒Магазин, услуги и т.п. 👉 @termstore_bot

👤Создатель чата и админ канала 👉 @reposit0r

👤Создатель канала и зам. главы чата 👉 @Enleann

Report Page