odoo服务相关shell脚本

news2024/10/2 16:15:49

odoo服务相关shell脚本

在这里插入图片描述

1 确定系统不会自动休眠

ubuntu 22.04登陆之后,如果系统较长时间不操作,系统就自动休眠了。

如果重启之后,从来都没有登陆,就不会出现系统自动休眠的情况。

观察系统日志,发现类似如下的内容:

724 21:23:24 odoo-pc kernel: r8169 0000:03:00.0 enp3s0: Link is Down
724 21:23:24 odoo-pc systemd[1]: Reached target Sleep.
724 21:23:24 odoo-pc systemd[1]: Starting Record successful boot for GRUB...
724 21:23:24 odoo-pc systemd[1]: Starting System Suspend...
724 21:23:24 odoo-pc systemd[1]: grub-common.service: Deactivated successful>
724 21:23:24 odoo-pc systemd[1]: Finished Record successful boot for GRUB.
724 21:23:24 odoo-pc systemd[1]: Starting GRUB failed boot detection...
724 21:23:24 odoo-pc systemd[1]: grub-initrd-fallback.service: Deactivated s>
724 21:23:24 odoo-pc systemd[1]: Finished GRUB failed boot detection.
724 21:23:24 odoo-pc systemd-sleep[119211]: Entering sleep state 'suspend'...
724 21:23:24 odoo-pc kernel: PM: suspend entry (deep)
724 21:23:24 odoo-pc kernel: Filesystems sync: 0.002 seconds

发现是触发了systemd的自动休眠功能,检查休眠功能的状态以及历史记录,如下:

odoo@odoo-pc:~/Desktop$ service status sleep.target
status: unrecognized service
odoo@odoo-pc:~/Desktop$ systemctl status sleep.target
○ sleep.target - Sleep
     Loaded: loaded (/lib/systemd/system/sleep.target; static)
     Active: inactive (dead) since Tue 2023-07-25 07:02:18 CST; 9min ago
       Docs: man:systemd.special(7)

724 21:23:24 odoo-pc systemd[1]: Reached target Sleep.
725 07:02:18 odoo-pc systemd[1]: Stopped target Sleep.

普通桌面应用这个情况问题不大,但是如果是作为服务器使用的时候,我们一般远程访问系统,这个功能就会导致我们无法远程控制服务器,因此我们需要关闭这个功能。

执行关闭休眠功能的命令,如下:

odoo@odoo-pc:~/Desktop$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
[sudo] odoo 的密码: 
Created symlink /etc/systemd/system/sleep.target → /dev/null.
Created symlink /etc/systemd/system/suspend.target → /dev/null.
Created symlink /etc/systemd/system/hibernate.target → /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.

再次观察系统休眠状态,如下:

odoo@odoo-pc:~/Desktop$ systemctl status sleep.target
○ sleep.target
     Loaded: masked (Reason: Unit sleep.target is masked.)
     Active: inactive (dead) since Tue 2023-07-25 07:02:18 CST; 38min ago

发现自动休眠功能已经被关闭,不会出现自动休眠导致远程控制无法访问的情况了。

但是

另外一台跑odoo服务的测试机从来没有半夜休眠的情况,配置跟这台机器是一样的,不清楚为什么。 那台测试机,晚上也有人在使用odoo服务,可能这根ubuntu的休眠机制有关系。

2 开机自动启动

系统开机后会自动执行rc.local服务,rc.local服务的文件就是 /etc/rc.local,默认这个文件是没有的,需要手工创建

# 新建/etc/rc.local
chmod +x /etc/rc.local

rc.local

#!/bin/bash
# 注意命令最后面一定要加 & 放入后台运行,不然系统会卡住
/home/odoo/bin/start_odoo.sh &

start_odoo.sh

#!/bin/bash

#启动odoo的脚本
# fatux
# 156277468@qq.com
cd /home/odoo/odoo16
# 激活虚拟环境
source ./venv/bin/activate
# 启动odoo
python odoo-bin -c odoo.conf

odoo.conf 跟日志有关的配置

log_level = debug      # 设置日志级别
logfile = odoo.log     # 日志输出到文件中
logrotate=True         # 日志值保留30天
log_db=True            # 在数据库保存日志  ir_logging
log_db_level=warning   #  数据库保存日志的级别

3 检测服务是否正常,如果服务停了,自动拉起来

check_odoo.sh crontab 设置成1分钟执行一次, 其实这段脚本可用代替开机自动启动脚本了,而且还是用odoo用户执行的,安全性也好

check_odoo.sh

#!/bin/bash
str=$(ps -aux | grep odoo-bin | grep -v grep)
if [ -z "$str" ]; then
	nohup /home/odoo/odoo16/bin/start_odoo.sh &
fi
crontab -e
* * * * * sh /home/odoo/bin/check_odoo.sh  >> /home/odoo/bin/check_odoo.log 2>&1 

3 自动备份并清理过期文件

如果数据库比较小,可用通过这种方式进行定期备份。

#!/bin/bash
BACKUP_PATH=/home/odoo/backup/
DB_NAME=odoo
TIME=`date  +%Y%m%d%H%M%S`
FileName="$BACKUP_PATH$DB_NAME.$TIME"
echo "--------------------------------------------------------"
echo $FileName

curl -X POST -F 'master_pwd=Hx@admin' -F 'name=odoo' -F 'backup_format=zip' -o $FileName  http://192.168.1.190:9001/web/database/backup

echo "备份odoo数据库成功"
echo "清理过期文件"
cd $BACDUP_PATH
find . -ctime +30 -type f | xargs rm -rf
echo "清理文件成功"
exit 0
echo "--------------------------------------------------------"

定时任务,每天凌晨2点30分备份

crontab -e
30 2 * * * sh /home/odoo/bin/backup_odoo.sh  >> /home/odoo/bin/backup_odoo.log 2>&1 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/788005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学好Elasticsearch系列-Mapping

本文已收录至Github,推荐阅读 👉 Java随想录 文章目录 Mapping 的基本概念查看索引 Mapping 字段数据类型数字类型基本数据类型Keywords 类型Dates(时间类型)对象类型空间数据类型文档排名类型文本搜索类型 两种映射类型自动映射&…

视屏消音工具,支持指定词语,或者短句消音

这里写自定义目录标题 一个使用python开发的视频消音工具 一个使用python开发的视频消音工具 1.支持上传文件字幕,进行视屏整段语句进行静音处理 2.支持通过指定的词语或者句子进行精确的消音处理 3.支持输入多个词语,或者断句进行消音处理 页面比较简陋,但功能应该满足日常使…

Vue移动端项目--瑞幸咖啡重构优化

来了客官,好久不见! 从年初开始,就有个想法,想着把之前做过的项目重新整理一下。毕竟今时不同往日,从现在的角度去看曾经做过的项目,倒是觉得有很多稚嫩的地方。毕竟无论做什么都是熟能生巧,由浅…

【干货分享】自动化测试理论知识以及相关框架

自动化测试 1.进行自动化测试的原因: a.黑盒测试回归测试效率低 b.手动测试的偶然性和不确定性 c.回归的覆盖率不足 d.交付的产品质量无法保证,全靠评估 e.系统越复杂,问题越多 f.上线时间长,构件失败率高导致的蝴蝶效应&#xf…

分享200+个关于AI的网站

分享200个关于AI的网站 欢迎大家访问:https://tools.haiyong.site/ai 快速导航 AI 应用AI 写作AI 编程AI 设计AI 作图AI 训练模型AI 影音编辑AI 效率助手 AI 应用 文心一言: https://yiyan.baidu.com/ 百度出品的人工智能语言模型 ChatGPT: https://chat.openai.c…

春秋云境:CVE-2022-23880(taoCMS v3.0.2 任意文件上传漏洞)

目录 一、题目 二、进入题目: 2.1 文件写入一句话木马: 2.2 用SQL语句写入木马: 一、题目 靶标介绍: taoCMS v3.0.2 文件管理处存在任意文件上传漏洞,攻击者可执行任意代码 二、进入题目: 访问/admin …

CRM系统的作用有哪些?

CRM系统的作用具体有哪些?之前写过很多关于CRM选型类的内容,其实在介绍各大CRM软件时,都会大概介绍下其CRM系统的作用,这篇就借这个问题详细梳理下,CRM系统具体有哪些作用。 一个好用的CRM客户管理系统的作用包括哪些…

鸿合一体机怎么系统还原

系统还原方法:先用牙签按住电脑还原按钮不松,然后按一下电源按钮开机,直到电脑进入系统还原画面,就可以松开还原按钮了,系统还原完成后会自动重启,重启完成就可以用了。

消息队列(一)-- RabbitMQ入门(4)

RabbitMQ 其他知识点 幂等性 消息重复消费 消费者在消费MQ 中的消息时,MQ 已经把消息发送给消费者,消费者在给 MQ 返回 ack 时网络中断,故MQ 未收到确认消息,该消息会重新发给其他消费者,或网络重新连接后再次发给该消…

【高危】Atlassian Confluence 远程代码执行漏洞

漏洞描述 Confluence 是由 Atlassian 开发的知识管理与协同软件,通常在企业内部用作wiki系统。 Confluence 7.19.8到8.2.0之前的版本中存在远程代码执行漏洞,具有登录权限的攻击者无需用户交互即可在 Confluence 服务器中执行任意命令。 漏洞名称Atlass…

25、matlab里面的10中优化方法介绍——Opt_Golden法(matlab程序)

1.简述 基本思想 黄金分割法也称为 0.618 法,其基本思想是通过取试探点和进行函数值比较,使包含极小点的搜索区间不断缩短以逼近极小值点。适用于确定区间上的任何单谷函数求极小值的问题。 公式推导 设有定义在[ a , b ] [a,b][a,b]上的单谷函数 φ ( …

Jmeter(二十三):快速生成测试报告

一、jmeter配置 首先要保证jmeter命令是ok的,如果你在cmd中输入jmeter -v,有出现如下截图所示的信息,那就说明jmeter环境ok; 二、jmeter执行结合命令 生成HTML测试报告 1.完成脚本的调试、参数化、断言等操作。然后在聚合报告中指定日志文件存储路径,路径中最好不要包含有…

魏牌转型,别笑得太早

作者 | 魏启扬 来源 | 洞见新研社 魏牌似乎终于迎来了自己的“救世主”。 确定冲击高端智能新能源赛道,并且战略性放弃2000万辆的燃油车市场后,魏牌CEO陈思英将2023年定位为反击之年。 4月13日,上海车展前夕,魏牌推出”比‘500…

数分面试题-SQL常见面试题型1

目录标题 1、连续时间问题1.1 最近一周内的活跃天数1.2 每个用户一周内最大连续活跃天数1.3 计算截至当前,每个用户已经连续签到的天数 2、时间间隔问题举例3、sql窗口分析函数3.1 有一个日志登陆列表,获取用户在某个页面停留时长3.2 寻找至少连续出现3次…

大文件传输中的加密与安全措施

随着现代科技的不断发展,大文件传输已经成为了日常工作中不可或缺的一部分。但是,大文件传输中面临的安全问题也越来越凸显,因此加密与安全措施对于保护大文件传输的安全性至关重要。 一、密码学 密码学是加密与安全措施的基础,它…

ES6:Object.assign方法详解

ES6:Object.assign方法详解 1、前言2、语法3、基本用法3.1 目标对象和源对象无重名属性3.2 目标对象和源对象有重名属性3.3 有多个源对象3.4 其他情况3.4.1 只有一个参数时,Object.assign会直接返回该参数3.4.2 如果该参数不是对象,则会先转成…

[ 容器 ] Harbor 私有仓库的部署与管理

目录 一、什么是Harbor二、Harbor的特性三、Harbor的构成四、Harbor 部署五、关于 Harbor.cfg 配置文件中有两类参数:所需参数和可选参数六、维护管理Harbor 一、什么是Harbor Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户…

centos7 基础设置

CentOS 7 是一种基于 Linux 操作系统的发行版,它是来自于 Red Hat Enterprise Linux(RHEL)源代码的重构版本。 CentOS 7 是由社区开发和维护的免费操作系统,被广泛应用于服务器环境和企业级应用。 CentOS 7 提供了稳定、安全且可…

OPTEE之静态代码分析实战三——optee_examples

ATF(TF-A)/OPTEE之静态代码分析汇总 一、optee_examples源码下载及分析 前文分别对optee_os和optee_client进行了静态代码分析实战,本次对optee_examples实施soanrlint静态代码分析,先到官方网站下载源码。官方网站位于github,网址optee_examples。 各发布版本如下…

windows下nginx更改配置unknown directive踩坑填坑

windows下nginx更改配置踩坑填坑 windows下nginx大坑:首先笔者建议了使用路径下cmd的方式启动服务,由于笔者更改了nginx配置文件,重新加载启动(命令nginx -s reload)nginx后一直报错,采用双击启动&#xff…