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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11月前
|
Shell
Shell 文件包含
10月更文挑战第5天
94 4
|
3月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
361 12
|
2月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
241 0
|
12月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
184 6
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
11月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
234 4
|
11月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
146 3
|
11月前
|
Ubuntu 应用服务中间件 开发工具
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
189 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
|
11月前
|
JavaScript 测试技术 持续交付
使用 GitLab CI/CD 管道自动化部署 Web 应用
【10月更文挑战第2天】使用 GitLab CI/CD 管道自动化部署 Web 应用
485 1
|
Shell Linux 网络安全
在Linux中,如何利用Shell把10台主机的当前时间写到一个文件里边?
在Linux中,如何利用Shell把10台主机的当前时间写到一个文件里边?
8-11|Running with gitlab-runner 16.2.1 (674e0e29) on csjs2-sg-cdn-web Ku48KQnJ, system ID: s_daf35
8-11|Running with gitlab-runner 16.2.1 (674e0e29) on csjs2-sg-cdn-web Ku48KQnJ, system ID: s_daf35