Update 2025-04-13_16:21:50
This commit is contained in:
53
lxc_snapshot_create.sh
Executable file
53
lxc_snapshot_create.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
# v01
|
||||
|
||||
# List and check LXC containers
|
||||
echo "Listing all LXC containers..."
|
||||
CONTAINERS=($(lxc-ls -1))
|
||||
|
||||
# Check if there are any containers
|
||||
if [[ ${#CONTAINERS[@]} -eq 0 ]]; then
|
||||
echo "There are no LXC containers."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found ${#CONTAINERS[@]} container(s): ${CONTAINERS[@]}"
|
||||
echo "----------------------------------"
|
||||
|
||||
# Loop over each container
|
||||
for LXCHOSTNAME in "${CONTAINERS[@]}"; do
|
||||
echo "Processing container: $LXCHOSTNAME"
|
||||
|
||||
# Stop the container
|
||||
echo "Stopping container $LXCHOSTNAME..."
|
||||
if ! lxc-stop -n "$LXCHOSTNAME"; then
|
||||
echo "Failed to stop container $LXCHOSTNAME"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Create a snapshot (using default directory)
|
||||
echo "Creating snapshot for $LXCHOSTNAME..."
|
||||
if ! lxc-snapshot -n "$LXCHOSTNAME"; then
|
||||
echo "Failed to create snapshot for $LXCHOSTNAME"
|
||||
# Optionally, start the container back up if snapshot fails
|
||||
lxc-start -n "$LXCHOSTNAME"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Start the container
|
||||
echo "Starting container $LXCHOSTNAME..."
|
||||
if ! lxc-start -n "$LXCHOSTNAME"; then
|
||||
echo "Failed to start container $LXCHOSTNAME"
|
||||
continue
|
||||
fi
|
||||
|
||||
# List snapshots for the container
|
||||
echo "Listing snapshots for $LXCHOSTNAME..."
|
||||
lxc-snapshot -n "$LXCHOSTNAME" -L
|
||||
echo "----------------------------------"
|
||||
|
||||
echo "Finished processing $LXCHOSTNAME"
|
||||
echo "=================================="
|
||||
done
|
||||
|
||||
lxc-ls -f
|
Reference in New Issue
Block a user