写了个一键备份docker容器的脚本,代码如下:
#!/bin/bash
# 备份目录
backup_dir="/www/backup/docker"
# Docker 容器列表
container_list=$(docker ps -q)
# 备份文件名
backup_file="${backup_dir}/$(date +%Y%m%d)/$(date +%H)"
if [ ! -d "$backup_file" ]; then
mkdir -p "$backup_file"
fi
# 备份每个容器的数据
for container_id in $container_list; do
container_name=$(docker inspect -f '{{.Name}}' "$container_id" | sed 's,^/,,')
docker export "$container_id" | gzip > "${backup_file}/${container_name}.tar.gz"
done
使用方法
创建backup.sh文件,将以上代码写进此文件中,修改代码中的备份目录,然后运行以下命令:
sh backup.sh
运行此命令后docker会导出所有容器到你指定的目录,默认为:/www/backup/docker
发表 :1年前