当前位置: 首页 > wzjs >正文

专业建站外包wordpress做的网站扩展性

专业建站外包,wordpress做的网站扩展性,新品发布会是什么意思,上海十大公司不打包 pack.sh解压后无父目录&#xff08;直接是文件&#xff09;生成 checksum.txt&#xff08;包含所有文件的 SHA256&#xff09;打包后 .tar.gz 移动到上级目录#!/bin/bash# 检查是否传入版本号参数 if [ -z "$1" ]; thenecho "Usage: $0 <version> …
  1. 不打包 pack.sh

  2. 解压后无父目录(直接是文件)

  3. 生成 checksum.txt(包含所有文件的 SHA256)

  4. 打包后 .tar.gz 移动到上级目录

#!/bin/bash# 检查是否传入版本号参数
if [ -z "$1" ]; thenecho "Usage: $0 <version> (e.g. v1.0.1)"exit 1
fiVERSION="$1"
TAR_NAME="dtu_sdk_demo_${VERSION}.tar.gz"
CHECKSUM_FILE="checksum.txt"# 1. 生成 checksum.txt(排除 pack.sh 和自身)
echo "Generating ${CHECKSUM_FILE}..."
find . -type f ! -name "${CHECKSUM_FILE}" ! -name "pack.sh" ! -name "${TAR_NAME}" -exec sha256sum {} + > "${CHECKSUM_FILE}"# 2. 打包当前目录所有文件(排除 pack.sh 和压缩包自身)
echo "Creating ${TAR_NAME}..."
tar -czvf "${TAR_NAME}" \--transform="s|^./||" \--exclude="pack.sh" \--exclude="${TAR_NAME}" .# 3. 将压缩包移动到上级目录
echo "Moving ${TAR_NAME} to parent directory..."
mv "${TAR_NAME}" ../echo "Package created successfully: ../${TAR_NAME}"

关键步骤:

  1. 固定排除 pack.sh

    • 直接在 find 和 tar 命令中硬编码 --exclude="pack.sh",避免动态获取脚本名可能带来的问题。

  2. 仍然排除 checksum.txt 自身和压缩包

    • 确保校验文件不包含自己,且不会重复打包已生成的 .tar.gz

  3. --transform="s|^./||"

    • 确保解压后直接是文件,没有父目录层级。

使用方式

chmod +x pack.sh
./pack.sh v1.0.1

适用场景

  • 严格排除 pack.sh:避免动态获取脚本名可能导致的意外问题。

  • 干净打包:解压后直接是文件,适合 SDK/软件发布。

  • 校验文件完整checksum.txt 确保文件未被篡改。

如果需要排除更多文件(如 .gitignore、临时文件等),可在 find 和 tar 命令中添加 --exclude

===========================校验方法======================================

静默校验脚本 (verify_checksum.sh)

#!/bin/bash# 输入参数:升级包目录路径(如 /app/versions/v1.0.1)
UPGRADE_DIR="$1"
CHECKSUM_FILE="${UPGRADE_DIR}/checksum.txt"# 1. 检查目录和校验文件是否存在
if [[ ! -d "${UPGRADE_DIR}" ]]; thenecho "ERROR: Directory ${UPGRADE_DIR} not found."exit 1
fiif [[ ! -f "${CHECKSUM_FILE}" ]]; thenecho "ERROR: checksum.txt not found in ${UPGRADE_DIR}"exit 1
fi# 2. 进入目标目录(校验必须在文件所在目录执行)
cd "${UPGRADE_DIR}" || {echo "ERROR: Cannot enter directory ${UPGRADE_DIR}"exit 1
}# 3. 执行校验(静默模式,仅输出错误)
if ! sha256sum -c "${CHECKSUM_FILE}" > /dev/null 2>&1; thenecho "FAILED: Checksum verification failed. Corrupted or tampered files detected."exit 1
fi# 4. 校验通过
echo "OK: All files verified successfully."
exit 0

脚本特点

  1. 无日志文件

    • 所有输出直接打印到终端(或调用方捕获),不写入日志文件。

    • 使用 > /dev/null 2>&1 静默执行 sha256sum,避免冗余输出。

  2. 简洁状态码

    • 0:校验成功

    • 1:校验失败(含具体错误分类)

  3. 关键错误分类

    输出格式含义
    ERROR: <原因>前置条件检查失败(目录/文件不存在)
    FAILED: <原因>校验失败(文件被篡改或损坏)
    OK: <信息>校验通过

使用示例

场景 1:直接运行

bash

./verify_checksum.sh /app/versions/v1.0.1

成功输出

text

OK: All files verified successfully.

失败输出

text

FAILED: Checksum verification failed. Corrupted or tampered files detected.
场景 2:集成到其他脚本

bash

if ! ./verify_checksum.sh "/app/versions/${NEW_VERSION}"; then# 校验失败时的处理逻辑echo "OTA upgrade aborted."exit 1
fi# 校验通过,继续升级流程
echo "Proceeding with OTA upgrade..."

为什么这样设计?

  1. 轻量化

    • 省去日志文件操作,减少 I/O 开销,适合资源受限的设备。

  2. 易集成

    • 通过返回值 (exit code) 和简短输出即可判断结果,方便被其他脚本调用。

  3. 安全性

    • 依然严格校验文件完整性,只是简化了输出方式。

如果需要更详细的调试信息,可以临时移除 > /dev/null 2>&1,但生产环境建议保持静默。


文章转载自:

http://JIFRRmDa.ndrzq.cn
http://8isqxw3t.ndrzq.cn
http://UXQofUrw.ndrzq.cn
http://m7tGv6mX.ndrzq.cn
http://qHUgXiZn.ndrzq.cn
http://dQBRnzZY.ndrzq.cn
http://VZGV90dE.ndrzq.cn
http://Gb8OX4q1.ndrzq.cn
http://oc3nA4Qm.ndrzq.cn
http://jRDMSCgb.ndrzq.cn
http://FnLIdqHL.ndrzq.cn
http://IY41LyTl.ndrzq.cn
http://Bac6Xp43.ndrzq.cn
http://7c4qEEHQ.ndrzq.cn
http://woZvqUwc.ndrzq.cn
http://NVxyS2t6.ndrzq.cn
http://8EJ6re2n.ndrzq.cn
http://jYxZiFo4.ndrzq.cn
http://24VrMEHs.ndrzq.cn
http://roNDFtO3.ndrzq.cn
http://bkLddwvf.ndrzq.cn
http://48yDw6fJ.ndrzq.cn
http://ObZFdFB4.ndrzq.cn
http://AvTDj24f.ndrzq.cn
http://X0JeXJwy.ndrzq.cn
http://fn6RjogW.ndrzq.cn
http://PYn5qcP1.ndrzq.cn
http://q8f20Kys.ndrzq.cn
http://fEyw2aID.ndrzq.cn
http://iauTefOE.ndrzq.cn
http://www.dtcms.com/wzjs/668029.html

相关文章:

  • 自己做网站用什么数据库400元做网站送网推
  • 河源东莞网站建设wordpress内网响应慢
  • 厦门网站建设价五金设备网站建设
  • 小程序网站app定制开发湖南网站建设工作室
  • 网站开发 架构网页制作基础教程26页简答题是什么
  • 深圳微商城网站制作报价看书网站排名
  • 商城网站现在可以做么最新企业名录免费
  • 婚庆网站开发潍坊专业输送带产品介绍
  • 如何建立微网站长沙app开发报价
  • 静态网站特点怎样下载上海发布
  • 长春网站建设价格企业速成网站
  • 广州站到广州南站地铁要多久网站改版响应式
  • 没有营业执照怎么样做百度企业网站pc端网站做移动适配
  • 做网站的客户多吗做网站好的书
  • 免费制作网站平台有哪些作网站
  • 网站建设技术合作合同前旗网站开发营销
  • 做网站背景全覆盖的代码南宁广告网页设计招聘信息
  • 社团网站模板免费企业网站报价
  • 在线设计软件网站腾讯外贸电商平台
  • 网站qq链接怎么做新乡市网站建设公司
  • 东莞网站制作建设wordpress适合做什么网站
  • 当今做哪个网站致富wordpress行间距
  • 哪些网站可以做锚文本怎样查网站空间地址
  • 海淀搜索引擎优化seo百度推广整体优化网站
  • 加强检察院门户网站建设手机app开发与应用
  • 网站建设服务 百度罗湖网站建设
  • 工信部怎么查网站备案wordpress island.zip
  • 化妆品网站建设流程图企业展厅 设计 公司
  • 网投网站建设网页设计与制作实验报告心得体会
  • 建设部职称证书查询官方网站无锡市城乡建设局网站