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

主部署程序: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文件:

bash 复制代码
#!/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文件为:

bash 复制代码
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命令后面不能有空格!

相关推荐
AI智图坊5 分钟前
电商详情页转化率提升实战:基于AI的“卖点-视觉”转化链路设计与自动化实现
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
呉師傅12 分钟前
联想M7400Pro提示无法打印0B 关闭电源然后重新打开故障维修分享
运维·网络·windows·电脑
2023自学中21 分钟前
Linux虚拟机,VSCode + GDB 调试配置:launch.json 模板
linux·vscode·嵌入式
meilindehuzi_a23 分钟前
从零搭建本地 Mock 服务器与异步控制流(async/await)深度架构实践
运维·服务器·架构
艾莉丝努力练剑23 分钟前
【QT】窗口
运维·网络·数据库·qt·计算机网络·microsoft
RisunJan24 分钟前
Linux命令-ntsysv(集中管理系统的各种服务)
linux·运维·服务器
Championship.23.2426 分钟前
Linux 3.0 USB机制深度解析:USB 3.0支持与传统外设驱动架构
linux·运维·架构·usb
yyuuuzz27 分钟前
aws亚马逊云服务的基础认知与常见场景
大数据·运维·服务器·网络·云计算·aws
鼎讯信通27 分钟前
DLG-1 高压测试设备,补齐能源电缆运维检测短板
运维·能源
剑神一笑28 分钟前
Linux lsblk 命令详解:块设备信息查看与磁盘管理实战
linux·运维·服务器