Ubuntu下AI4Green开源ELN服务的简单部署

news2024/9/23 20:22:43

主部署程序:AI4Green

配置参考这篇文档:AI4Green开源ELN(电子实验记录本)-CSDN博客

流量转发和负载均衡:使用Nginx

配置参考这篇文档:Nginx负载均衡-CSDN博客

SSL配置部分参考这篇文档:

设置ubuntu下开机启动AI4Green:

使用Cron,执行命令:crontab -e 在命令行打开cron文件后,在最后一行添加:@reboot /home/eln/work/py38/bin/python /home/eln/work/Webapp/app.py

这样即可开机启动。

备份:

主要备份:将ai4green的数据库存盘文件test_database.sqlite备份。并将整个ai4green的web源代码备份。

其它备份:nginx的设置,这两个文件:/etc/nginx/nginx.conf /etc/nginx/ai4green.conf

尝试使用备份软件bacula,不过这个太难配置了,转而选择了Syncthing,这个简单点。Syncthing的安装与配置参考这里:Syncthing同步备份初探-CSDN博客

写了自动tar包和写入备份目录的bakcp.sh文件:

#!/bin/bash
cd /home/eln/work && tar -czvf Webapp.tar.gz Webapp
source_file="/home/eln/work/Webapp.tar.gz"
destination_file="/home/eln/Sync/Webapp_$(date +%Y%m%d).tar.gz"
cp "$source_file" "$destination_file"

然后再设置同步Sync目录即可。 nginx的配置也可以放入Sync目录。可以设置cron定时任务,比如crontab -e 后加入:

0 3 * * * /path/to/bakcp.sh  这样就是每天凌晨3点执行 。不要忘记将执行文件设为可执行。

最终cron配置的文件为:

0 3 * * * /home/eln/work/bakcp.sh 
0 3 * * 1 /home/eln/work/bakconfig.sh 

其中的bakconfig.sh文件为:

cd /home/eln/work && tar czvf bakconfig.tar.gz /etc/nginx/nginx.conf /etc/nginx/ai4green.conf
source_file="/home/eln/work/bakconfig.tar.gz"
destination_file="/home/eln/Sync/bakconfig$(date +%Y%m%d).tar.gz"
cp "$source_file" "$destination_file"

备份文件通过定时执行cp到~/Sync目录后,使用Syncthing进行同步备份。

不要忘记重启cron服务!

调试

一晚之后,发现没有跑定时任务,查看crontab文件,发现里面没有内容

很奇怪啊,再次写入,并写一个每小时一次的任务进行测试。明白了,两次使用的命令不一样,

以前用的是crontab -e ,今天使用的是sudo crontab -e, 两个内容可就不一样么。

最终决定还是用sudo crontab -e

cron任务没有执行

是不是忘记了执行sudo service cron restart 

cron里面的bakcp.sh测试没有通过,且在控制台调试,在work目录能执行,在../work目录就不能执行。不明白其中到道理。发现它有文件头:#!/bin/bash ,将其删除后,正常!

发现sh /home/eln/work/bakconfig.sh 这样是不行的。发现sh下tar czvf这样是不行的

cron 发email提示说执行的命令:No such file or directory

奇怪了,咋同样的语句,提示就是不一样:

(base) eln@huanju:~$ /home/eln/work/bakconfig.sh 

-su: /home/eln/work/bakconfig.sh : No such file or directory

(base) eln@huanju:~$ /home/eln/work/bakconfig.sh

test.txt

找到问题了,原来cron命令的最后,不能用空格,我的天!也就是linux控制台,sh命令后面不能有空格! 

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

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

相关文章

案例119:基于微信小程序的宿舍管理系统设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

[NSSCTF Round#16 Basic] CPR

打着玩玩,比赛很简单。 Crypto pr 一个RSA题,n1p*q,n2q*r给了两个c和p,r而且flag经过pad用单因子无法解出。分别用p,r解完再取crt from Crypto.Util.number import * import randomflagplaintext NSSCTF{****************} charset abcdefghijklmn…

Mnajora 使用deb包安装软件

说明 Mnajora 安装deb软件包主要有两种方式 可以使用dpkg 直接安装也可是使用debtap将deb软件包转换成 使用dpkg sudo pacman -S dpkg #安装dpkgsudo dpkg -i ###.deb #使用dpkg安装deb软件包和在ubuntu上是一样的 安装成功 使用debtap debtap是一个用于将.deb包转换为A…

CSS伪类:为网页增添交互和样式

CSS伪类是一项强大的特性,它允许开发者根据不同的状态、位置和结构选择器来选择和样式化HTML元素。通过使用CSS伪类,我们可以为网页增添交互性、响应性和样式化效果。本文将深入探讨CSS伪类的概念、常见用法和一些实用示例。 CSS伪类是什么 CSS伪类是一…

class_2:using namespace std命名空间

1、标准命名空间:using namespace std; std包含了基本的类、数据对象、函数等,如cin ,cout,endl等,如果在代码没有声明 using namespace std;则需要再调用这些接口的时候需要显示的声明,例如:std::cin等&…

从混沌到有序:2023年全球软件质量与效能大会中的运维经验分享

在当今这个信息化社会,软件已经成为了我们生活和工作中不可或缺的一部分。然而,随着软件应用的普及和复杂度的增加,如何保障软件的质量和效能已经成为了一个重要的问题。 2023年全球软件质量与效能大会(QECon上海站)汇…

PLC数组队列搜索FC(SCL代码+梯形图程序)

根据输入数据搜索输入数据队列中和输入数据相同的数,函数返回其所在队列的位置。这里我们需要用到博途PLC的数组指针功能,有关数组指针的详细使用方法,可以参考下面文章: 博途PLC数组指针: https://rxxw-control.blog.csdn.net/article/details/134761364 区间搜索FC …

luceda ipkiss教程 55:画螺旋型布拉格光栅

案例分享, 画螺旋型布拉格光栅: 所有代码如下: from si_fab import all as pdk import ipkiss3.all as i3 from picazzo3.wg.spirals import FixedLengthSpiralRoundedgrating_size 0.7 grating_wg_width 1.2 wg_width 0.5 pitch 1.4 reference i3.LayoutCel…

NVMe-oF 1.1规范:多路径、非对称命名空间和NVMe/TCP

提到NVMe over Fabric,我就会想到它的几种应用场景: 1、 存储阵列到主机的网络连接(替代FC、iSCSI等); 2、 服务器、本地NVMe存储解耦(跨机箱/JBOF),SSD存储资源池化共享&#xff…

【嵌入式移植】3、编译U-Boot

编译U-Boot 0 U-Boot及本文所选硬件1 获取U-Boot源码2 获取工具链3 BL314 编译4.1 yylloc4.2 u_boot_dtsi 5 烧写6 上电验证 0 U-Boot及本文所选硬件 Das U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。U-B…

SpringBoot3 WebFlux 可观测最佳实践

前言 链路追踪是可观测性软件系统的一个非常好的工具。它使开发人员能够了解应用程序中和应用程序之间不同交互发生的时间、地点和方式。同时让观测复杂的软件系统变得更加容易。 从Spring Boot 3开始,Spring Boot 中用于链路追踪的旧 Spring Cloud Sleuth 解决方…

Linux常用命令之cp、rm、touch、mv

cp: 复制文件或目录 -f 覆盖目标同名文件或目录时不进行提醒,而直接强制复制。-i 覆盖目标同名文件或目录时提醒用户确认。-p 复制时保持源文件的权限、属主及时间标记等属性不变(默认权限属主是变化的)。-r 复制目录时必须使用此选项&a…

Open3D对产生偏差的点云数据进行校正

由于相机安装问题,导致点云数据两边翘起来,为了计算把翘起来的部分拉平整 import time import open3d as o3d; import numpy as np; import matplotlib.pyplot as plt from scipy.signal import find_peaks import pandas as pdOriginalPly o3d.io.rea…

大创项目推荐 深度学习疫情社交安全距离检测算法 - python opencv cnn

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习疫情社交安全距离检测算法 ** 该项目较为新颖,适合作为竞赛…

【2023年度总结与2024展望】听听一位初中生的感想

前言 金樽清酒斗十千,玉盘珍馐直万钱。停杯投箸不能食,拔剑四顾心茫然。欲渡黄河冰塞川,将登太行雪满山。闲来垂钓坐溪上,忽复乘舟梦日边。行路难,行路难,多歧路,今安在。长风破浪会有时&#…

强化学习的数学原理学习笔记 - 策略梯度(Policy Gradient)

文章目录 概览:RL方法分类策略梯度(Policy Gradient)Basic Policy Gradient目标函数1:平均状态值目标函数2:平均单步奖励🟡PG梯度计算 🟦REINFORCE 本系列文章介绍强化学习基础知识与经典算法原…

硬件工程师软实力提升篇

大家好,这里是大话硬件。 新的一年,你规划好了2024年的学习计划吗? 不知道大家是否还记得2023年1月1日在大话硬件公众号发表的文章《祝大话硬件的同学们元旦快乐!》。如果没印象的话,可以点击蓝色字体阅读。 当时写那篇文章的初衷是因为那时候很多人都在群里说,一年结…

IC验证——perl脚本file_assistant——批量修改文件

1 脚本名称 file_assistant 2 脚本路径 scripts/bin/file_assistant 3 脚本参数说明 次序 参数名 说明 1 file_type (v;sv;c;all) 指定脚本要修改的文件类型,目前支持 .v;.sv;.c(后续可…

MISGAN

MISGAN:通过生成对抗网络从不完整数据中学习 代码、论文、会议发表: ICLR 2019 摘要: 生成对抗网络(GAN)已被证明提供了一种对复杂分布进行建模的有效方法,并在各种具有挑战性的任务上取得了令人印象深刻的结果。然而,典型的 GAN 需要在训练期间充分观察数据。在本文中…

mac上部署单体hbase

1. 简介 HBase 是一个开源的、分布式的、版本化的典型非关系型数据库。它是 Google BigTable 的开源实现,并且是 Apache 基金会的 Hadoop 项目的一部分1。HBase 在 Hadoop Distributed File System (HDFS) 上运行,作为一个列式存储非关系数据库管理系统…