shell+crontab+gitlab实现ecs服务器文件的web展示

简介: 本文通过把ecs服务器上的文件定时上传至gitlab,实现文件的页面可视化和修改历史。技术点:shell、crontab、gitlab。

一:实现过程概述
通过在linux系统里配置crontab定时任务,定时执行shell脚本将指定目录的文件上传至gitlab,最后web页面查看文件的历史版本。

# git push file ,add in 20240218 from cupli
*/5 * * * * cd /opt/script  && /bin/bash   git_push_file.sh  >> /tmp/git_push_file.log

二:脚本详情

#!/bin/bash

echo "#####doing in `date "+%Y-%m-%d_%H:%M:%S"` #####################################"

#拉取服务器的配置文件
mkdir -p  /tmp/linshi/2024/from-ecs-task/task001  && cd  /tmp/linshi/2024/from-ecs-task/task001  && scp root@10.0.10.228:/etc/supervisord.d/*.ini  .
mkdir -p  /tmp/linshi/2024/from-ecs-task/task002  && cd  /tmp/linshi/2024/from-ecs-task/task002  && scp root@10.0.10.239:/etc/supervisord.d/*.ini  .
cd /tmp/linshi/2024 &&  rm -rf supervisor

#重新拉取git仓库,记得hosts里改为内网地址
git clone ssh://git@git.iamcup.com:2229/yunwei/supervisor.git && tree

#把服务器的文件覆盖到git目录,并提交。
cd /tmp/linshi/2024/supervisor/ && \cp  -R  ../from-ecs-task/*  .
#git push file 
git status
git config --global user.name "iam-yunwei-script"
git config --global user.email "iam-yunwei-script@notsend.com"
git add .
git add *
git commit -m "iam-yunwei-script update in `date "+%Y-%m-%d_%H:%M:%S"` "
git status
git push origin  main

三:页面展示

通过gitlab的提交记录,可以看到文件的历史版本,达到历史审计的目的。

image.png

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
Shell
Shell 文件包含
10月更文挑战第5天
33 4
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
2月前
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
148 1
|
1月前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
31 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
54 4
|
1月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
140 0
|
3月前
|
Linux
Linux 服务器下载百度网盘文件
本教程指导如何使用 `bypy` 库从百度网盘下载文件。首先通过 `pip install bypy` 安装库,接着运行 `bypy info` 获取登录链接并完成授权,最后将文件置于指定目录并通过 `bypy downdir /Ziya-13b-v1` 命令下载至本地。
368 1
Linux 服务器下载百度网盘文件
|
3月前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
68 0
下一篇
无影云桌面