首页 笔记 计算机 树莓派 正文 树莓派 树莓派 Linux系统自动压缩文件,备份到外置硬盘 2022-06-11 2767 0 分享 因为昨天一个命令行把docker文件夹都删了,丢了好多数据。 所有买了个外置硬盘插到树莓派上,写个脚本自动备份到外置硬盘上。 这样就不怕误删的问题了。 1、备份脚本 新脚本 #!/bin/bash # 设置变量 MNT_256G_DOCKER_PATH="/mnt/256G/docker" MNT_1T_PATH="/mnt/1T" DATE=$(date +"%Y-%m-%d") ARCHIVE_NAME="$DATE.tar.gz" ARCHIVE_PATH="$MNT_1T_PATH/$ARCHIVE_NAME" # 计算 /mnt/256G/docker 中的文件和文件夹总数 total_files=$(find $MNT_256G_DOCKER_PATH -type f | wc -l) total_dirs=$(find $MNT_256G_DOCKER_PATH -mindepth 1 -type d | wc -l) # 如果总文件数和文件夹为零,则无需压缩 if [ $total_files -eq 0 ] && [ $total_dirs -eq 0 ]; then echo "没有文件或文件夹需要压缩。" exit 0 fi # 开始压缩并计时 echo "开始压缩 /mnt/256G/docker 到 $ARCHIVE_PATH..." start_time=$(date +%s) tar -czf $ARCHIVE_PATH -C $MNT_256G_DOCKER_PATH . & pid=$! # 等待压缩完成,同时显示时间 while kill -0 $pid 2>/dev/null; do current_time=$(date +%s) elapsed_time=$((current_time - start_time)) echo -ne "已压缩时间: ${elapsed_time} 秒\r" sleep 1 done wait $pid # 等待后台压缩进程结束 tar_status=$? echo -ne "已压缩时间: ${elapsed_time} 秒\n" # 检查压缩是否成功 if [ $tar_status -eq 0 ]; then echo "压缩成功完成。" # 删除 /mnt/256G/docker 文件夹里的压缩包 echo "正在删除 /mnt/256G/docker 中的原始压缩包..." find $MNT_256G_DOCKER_PATH -name '*.tar.gz' -type f -delete echo "原始压缩包已删除。" else echo "压缩失败。" fi全选代码复制 旧脚本 #!/ibin/bash cd /home rm -rf *.tar tar -cvf aliyun.tar aliyun tar -cvf bitwarden.tar bitwarden tar -cvf frp.tar frp tar -cvf heimdall.tar heimdall tar -cvf hexo.tar hexo tar -cvf homeassistant_data.tar homeassistant_data tar -cvf ql.tar ql tar -cvf shell.tar shell tar -cvf wiz.tar wiz tar -cvf redis.tar redis cd /media/saiita/ZHITAI PSSD Jupiter10 512GB/docker_bak rm -r * mv /home/*tar /media/saiita/ZHITAI PSSD Jupiter10 512GB/docker_bak全选代码复制 2、crontab 添加定时任务 进入crontab crontab -e全选代码复制 添加定时任务 0 3 * * * /home/shell/bak.sh全选代码复制 小程序 微信赞赏 支付宝赞赏 © 2025 SaiitaのBlog by 程厚锋 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。 × 二维码 扫描二维码 标签:Linux 点赞 0 分享
open-webui 2025-02-03 【教程】Ubuntu 通过PIP方式部署openwebui 使用dockers部署openwebui,下载速度太慢了。改用pip安装open-webui;openwebui相关问题解决方法;
暂无评论
要发表评论,您必须先 登录