MyTetra Share
Делитесь знаниями!
Время создания: 15.10.2025 19:48
Автор: alensav
Текстовые метки: auto start
Раздел: GIT_BUG
Запись: alensav/MyTetra2/main/base/1760546938718hj1ku2z/text.html на raw.githubusercontent.com

Для автоматического запуска команды через 2 минуты после включения компьютера в системе на Ubuntu 18.04 (как у вас) можно использовать systemd-таймер — это современный, надёжный и гибкий способ.


Ниже приведён пример скрипта и инструкция по настройке.

---------------------------------------------------------------------------------------

Пример: запустить git pull в папке ~/myproject через 2 минуты после загрузки:

mkdir -p ~/.local/bin

cat > ~/.local/bin/myproject-pull.sh << 'EOF'

#!/bin/bash

# Подождать 2 минуты после запуска (на случай, если сеть ещё не готова)

sleep 120


# Перейти в проект и выполнить pull

cd /home/alensav/myproject || exit 1

git pull origin master


# (опционально) можно добавить логирование

echo "$(date): git pull выполнен" >> /home/alensav/myproject/pull.log

EOF


chmod +x ~/.local/bin/myproject-pull.sh

===============================================

Шаг 2: Создайте systemd-юнит

bash


mkdir -p ~/.config/systemd/user

-----------------------------------------------------------------------------------------------

Создайте файл службы:

cat > ~/.config/systemd/user/myproject-pull.service << EOF

[Unit]

Description=Pull myproject repo after boot


[Service]

Type=oneshot

ExecStart=/home/alensav/.local/bin/myproject-pull.sh

Environment=HOME=/home/alensav

EOF

==============================================

Создайте таймер:

cat > ~/.config/systemd/user/myproject-pull.timer << EOF

[Unit]

Description=Запускать myproject-pull.service через 2 минуты после загрузки


[Timer]

OnBootSec=120

AccuracySec=1s


[Install]

WantedBy=timers.target

EOF

=============================================

# Перезагрузить конфигурацию юнитов

systemctl --user daemon-reexec


# Включить автозапуск таймера при входе в систему

systemctl --user enable myproject-pull.timer


# Запустить таймер сейчас (для теста)

systemctl --user start myproject-pull.timer

 
MyTetra Share v.0.67
Яндекс индекс цитирования