Делаем бэкап данных Termux
@termuxguide
В этой статье вы узнаете некоторые методы резервного копирования и восстановления своих данных Termux. Настоятельно рекомендуется понять что делают команды перечисленные здесь, перед бездумным копированием - вставкой. Непонятная цель каждого шага может нанести непоправимый ущерб вашим данным, если это случилось с вами - не жалуйтесь.
Содержание
- Бэкап
- Восстановление
- Бэкап
- Восстановление
Введение
В примерах этой статьи, мы рассмотрим копирование и восстановление как домашнего каталога, так и системного блока.
- Домашний каталог, он же $HOME, он же ~, он же /data/data/com.termux/files/home - каталог пользователя, в котором вы оказываетесь когда открывайте первую сессию Termux. Когда вы будете создавать резервную копию этой папки, всё что в ней, будет также скопировано.
- Системный блок, он же $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