Termux предоставляет полноценное Linux‑окружение на Android‑устройстве. Благодаря установленным пакетам вы можете писать скрипты на bash, python, perl и многих других языках, а затем запускать их автоматически, как на обычном сервере.
Установка и настройка окружения
Перед тем как писать скрипты, необходимо подготовить базовые инструменты:
- Обновление пакетов:
pkg update && pkg upgrade -y - Установка редактора (nano, vim, micro):
pkg install nano vim -y - Установка интерпретаторов:
pkg install python bash -y - Создание директории для скриптов:
mkdir -p ~/scripts && cd ~/scripts
Написание простых Bash‑скриптов
Самый простой способ автоматизации – скрипты на bash. Пример скрипта, который проверяет наличие подключения к Wi‑Fi и отправляет уведомление:
#!/data/data/com.termux/files/usr/bin/bash
# Проверяем статус Wi‑Fi
if termux-wifi-connectioninfo | grep -q ""; then
termux-notification --title "Wi‑Fi" --content "Подключено"
else
termux-notification --title "Wi‑Fi" --content "Нет подключения"
fi
Сделайте файл исполняемым:
chmod +x ~/scripts/check_wifi.sh
Запуск: ~/scripts/check_wifi.sh
Использование Python и других языков
Для более сложных задач удобно применять Python. Установите необходимые пакеты через pip:
pip install requests schedule
Пример скрипта, который каждый час отправляет данные о батарее на ваш сервер:
#!/data/data/com.termux/files/usr/bin/python3
import requests, subprocess, json, time
API_URL = "https://example.com/battery"
while True:
# Получаем информацию о батарее через termux-battery-status
result = subprocess.check_output(['termux-battery-status', '--json'])
data = json.loads(result)
payload = {
'level': data['percentage'],
'status': data['status']
}
try:
requests.post(API_URL, json=payload, timeout=5)
except Exception as e:
print('Ошибка отправки:', e)
time.sleep(3600) # 1 час
Сделайте скрипт исполняемым и запустите в фоне:
chmod +x ~/scripts/battery_report.py
nohup ~/scripts/battery_report.py &
Планировщик задач в Termux
Для периодического запуска скриптов используйте cron или встроенный termux-job-scheduler.
- cron – классический планировщик. Установите пакет:
pkg install cronie -y
Запустите службу:
sv-enable crond && sv up crond
Отредактируйте таблицу задач:
crontab -e
Пример записи, которая будет выполнять скрипт каждый день в 02:30:
30 2 * /data/data/com.termux/files/home/scripts/backup.sh
- termux-job-scheduler – API Android для планирования задач. Пример регистрации задачи, которая будет запускаться каждые 15 минут:
termux-job-scheduler --schedule "-f ~/scripts/check_wifi.sh -i 900000"
Для удаления всех задач выполните:
termux-job-scheduler --cancel-all
Примеры реальных автоматизаций
- Резервное копирование файлов – скрипт, который архивирует выбранные директории и отправляет их в облако (Google Drive, Dropbox) через
rclone.#!/data/data/com.termux/files/usr/bin/bash DATE=$(date +%Y%m%d_%H%M) ARCHIVE="/sdcard/backup_${DATE}.tar.gz" tar -czf "$ARCHIVE" ~/documents ~/pictures rclone copy "$ARCHIVE" remote:backups rm "$ARCHIVE" - Мониторинг системных ресурсов – скрипт, который каждые 5 минут собирает данные о CPU, RAM и отправляет их в Telegram.
#!/data/data/com.termux/files/usr/bin/bash TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" CHAT_ID="-1001234567890" while true; do CPU=$(top -b -n1 | grep "%Cpu" | awk '{print $2+$4}') MEM=$(free -m | awk '/Mem:/ {print $3"/"$2" MB"}') MSG="CPU: $CPU% Memory: $MEM" curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" -d chat_id=$CHAT_ID -d text="$MSG" sleep 300 done - Уведомления о новых SMS – скрипт, который проверяет входящие сообщения и отправляет их в ваш email.
#!/data/data/com.termux/files/usr/bin/bash LAST_ID=0 while true; do IDS=$(termux-sms-list --inbox | jq -r '.[].id') for ID in $IDS; do if (( ID > LAST_ID )); then MSG=$(termux-sms-list --inbox -i $ID | jq -r '.[] | "From: \(.address) \(.body)"') echo -e "$MSG" | mail -s "Новое SMS" user@example.com LAST_ID=$ID fi done sleep 60 done
Лучшие практики и безопасность
- Всегда задавайте права доступа к скриптам
chmod 700 script.sh, чтобы избежать случайного исполнения другими пользователями. - Храните конфиденциальные данные (токены, пароли) в отдельном файле с ограниченными правами и импортируйте их в скрипт.
- Логируйте выполнение задач: перенаправляйте вывод в файл
> /data/data/com.termux/files/home/logs/script.log 2>&1. - Регулярно проверяйте статус служб
sv status crondи обновляйте пакетыpkg upgrade -y.
Заключение
Termux открывает широкие возможности для автоматизации задач на Android‑устройствах. С помощью Bash‑скриптов, Python и планировщиков вы можете создавать резервные копии, мониторить ресурсы, отправлять уведомления и интегрировать мобильный телефон в ваш IT‑ландшафт. При правильной настройке и соблюдении рекомендаций по безопасности скрипты в Termux станут надёжным инструментом в арсенале любого специалиста.
Профессиональные IT‑услуги в Рыбинске предоставляет компания RybinskLab. Мы поможем внедрить автоматизацию, настроить серверы и обеспечить надёжную поддержку ваших проектов.