#创建 Frontend 的 systemd 服务
#sudo vim /etc/systemd/system/backend.service
[Unit]
Description=Backend Service
After=network.target[Service]
User=ops
WorkingDirectory=/data/testtoday/backend
ExecStart=/data/testtoday/backend/.venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
Restart=always
StandardOutput=append:/var/log/backend.log
StandardError=append:/var/log/backend.err.log[Install]
WantedBy=multi-user.target#sudo vim /etc/systemd/system/frontend.service
[Unit]
Description=Frontend Service
After=network.target[Service]
User=ops
WorkingDirectory=/data/testtoday/frontend
Environment="PATH=/home/ops/.nvm/versions/node/v22.14.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/home/ops/.nvm/versions/node/v22.14.0/bin/npm run dev -- --host
Restart=always
StandardOutput=append:/var/log/frontend.log
StandardError=append:/var/log/frontend.err.log[Install]
WantedBy=multi-user.target#sudo systemctl daemon-reload
#sudo systemctl enable backend frontend
#sudo systemctl start backend frontend#设定定时更新任务
#sudo vim /etc/systemd/system/backend_update.service
[Unit]
Description=Update and Restart Backend
After=network.target[Service]
User=ops
WorkingDirectory=/data/testtoday/backend
ExecStart=/bin/bash -c 'git fetch --all && git reset --hard origin/master && git pull origin master && sudo systemctl restart backend'
StandardOutput=append:/var/log/backend_update.log
StandardError=append:/var/log/backend_update.err.log[Install]
WantedBy=multi-user.target#sudo vim /etc/systemd/system/backend_update.timer
[Unit]
Description=Schedule Backend Updates
Requires=backend_update.service[Timer]
OnCalendar=*-*-* 09,12,21,00:00
Persistent=true[Install]
WantedBy=timers.target#sudo systemctl daemon-reload
#sudo systemctl enable backend_update.timer
#sudo systemctl start backend_update.timer# sudo vim /etc/systemd/system/frontend_update.service
[Unit]
Description=Update and Restart Frontend
After=network.target[Service]
User=ops
WorkingDirectory=/data/testtoday/frontend
ExecStart=/bin/bash -c 'git fetch --all && git reset --hard origin/master && git pull origin master && sudo systemctl restart frontend'
StandardOutput=append:/var/log/frontend_update.log
StandardError=append:/var/log/frontend_update.err.log[Install]
WantedBy=multi-user.target#sudo vim /etc/systemd/system/frontend_update.timer
[Unit]
Description=Schedule Frontend Updates[Timer]
OnCalendar=*-*-* 09,12,21,00:00
Persistent=true[Install]
WantedBy=timers.target#sudo systemctl daemon-reload
#sudo systemctl enable frontend_update.timer
#sudo systemctl start frontend_update.timer