Делаем бэкап данных Termux
t.me/termuxqew
В этой статье вы узнаете некоторые методы резервного копирования и восстановления своих данных Termux. Настоятельно рекомендуется понять что делают команды перечисленные здесь, перед бездумным копированием - вставкой. Непонятная цель каждого шага может нанести непоправимый ущерб вашим данным, если это случилось с вами - не жалуйтесь.
В примерах этой статьи, мы рассмотрим копирование и восстановление как домашнего каталога, так и системного блока.
- Домашний каталог, он же $HOME, он же ~, он же /data/data/com.termux/files/home - каталог пользователя, в котором вы оказываетесь когда открывайте первую сессию Termux. Когда вы будете создавать резервную копию этой папки, всё что в ней, будет также скопировано.
- Системный блок, он же $PREFIX, он же /data/data/com.termux/files/usr - каталог вмещающий в себе "системный блок", ключевые папки, такие как
$ termuxqew - 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СпСледуя этим инструкциям, все ваши файлы Termux будут перезаписаны файлами из резервной копии. Восстановление home директории 1. Перейдите в родительский каталог папки home: cd /data/data/com.termux/files 2. Замените домашний каталог на тот что из резервной копии: tar -zxvf home/storage/shared/termux-backup.tar.gz home Домашний каталог не столько критичен, поэтому никаких дополнительных шагов, таких как закрытие/открытие Termux не требуется. Восстановление $PREFIX Восстановление $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 из последнего снимка:
Спасибо за прочтение!

🌫️Мои проекты🌫️
💚 Наш чатик 💚