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
AI 代码解读

二:脚本详情

#!/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
AI 代码解读

三:页面展示

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

image.png

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
3
3
2
5
分享
相关文章
服务器感染了.baxia勒索病毒,如何确保数据文件完整恢复?
近年来,勒索病毒如.baxia不断演变,利用漏洞、社交工程等手段加密文件,威胁范围扩大。加密货币的兴起使其支付方式更匿名,追踪困难。技术支持尤为重要,添加技术服务号(shuju315),专业团队提供数据恢复方案。面对复杂解密要求,包括赎金支付、个人信息提供和执行特定操作,需保持冷静并寻求帮助。防御措施包括加强安全意识、定期备份数据、安装杀毒软件、避免未知文件、更新系统及制定应急响应计划。
73 11
|
3月前
|
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
114 9
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
1089 0
|
4月前
|
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
55 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
72 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
|
4月前
|
Shell 文件包含
10月更文挑战第5天
48 4
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
80 3
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
115 4
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
5月前
|
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
74 4

热门文章

最新文章