ubuntu22.04定时重启和开机启动执行指定脚本
- 2025-04-16 17:07:43
- 运维
- 44
- shevechco
之前我们在ubuntu20.04系统中配置开机启动执行脚本,可以查看这个笔记:https://sulao.cn/post/882
由于购买的轻量应用服务器内存只有1G,目前跑了flask,mysql,redis和celery内存有些不够,所以每天都需要重启下服务器,目前定时重启可以参考如下配置:
crontab -l
30 1 * * * /sbin/shutdown -r now
因为我启动还要启动celery的worker和beat,所以配置开机启动这些软件,使用tmux的方式启动,方便后续查看。
启动脚本worker_start.sh内容如下:
#!/bin/bash
set -ex
current_dir=`readlink -f $(dirname $0)`
cd $current_dir
if ! command -v "tmux" >/dev/null 2>&1; then
echo -e "未检测到 tmux 命令, 请先安装(yum install tmux -y | apt install tmux -y)命令再执行本脚本!"
exit 1
fi
echo "启动异步任务框架 Celery Worker..."
tmux new-session -d -s celery_worker 'celery -A apps.tasks.celery worker -l info -c 1'
echo "启动定时异步任务 Celery Beat..."
tmux new-session -d -s celery_crontab 'celery -A apps.tasks beat -l info'
接着我们写开机启动systemctl服务配置
cat /etc/systemd/system/celery.service
[Unit]
Description=celery
[Service]
ExecStart=/data/blog/worker_start.sh
Type=forking
[Install]
WantedBy=multi-user.target
然后我们配置开机启动
systemctl daemon-reload
systemctl enable celery
systemctl start celery
启动后效果如下:
内容版权声明:除非注明,否则皆为本站原创文章。