mirror of
				https://github.com/flynx/proxmox-utils.git
				synced 2025-11-04 06:00:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/bash
 | 
						|
 | 
						|
source ./.pct-helpers
 | 
						|
 | 
						|
# config...
 | 
						|
CT_DIR=/etc/pve/lxc/
 | 
						|
SHARE_ROOT=/media/shared/
 | 
						|
 | 
						|
SYNCTHING=syncthing
 | 
						|
SYNCTHING_DIR=/home/syncthing/Proxmox
 | 
						|
 | 
						|
# normalize...
 | 
						|
SHARE_ROOT=${SHARE_ROOT%/}
 | 
						|
 | 
						|
 | 
						|
# create base shared directory...
 | 
						|
if ! [ -d "${SHARE_ROOT}/$(hostname)" ] ; then
 | 
						|
	@ mkdir -p "${SHARE_ROOT}/$(hostname)"
 | 
						|
	@ chmod 777 "${SHARE_ROOT}"
 | 
						|
fi
 | 
						|
 | 
						|
# mount ct shares...
 | 
						|
for ct in $CT_DIR/*.conf ; do
 | 
						|
	id=$(basename ${ct/.conf/})
 | 
						|
 | 
						|
	host=$(cat $ct | grep hostname | head -1)
 | 
						|
	host=${host/hostname: /}
 | 
						|
 | 
						|
	# skip templates...
 | 
						|
	if [ "$(cat $ct | grep 'template: 1')" != "" ] ; then
 | 
						|
		continue
 | 
						|
	fi
 | 
						|
 | 
						|
	# mount...
 | 
						|
	# NOTE: we are not taking care of the actual mount numbers here...
 | 
						|
	if [[ "$(cat $ct | grep "mp[0-9]:.*${SHARE_ROOT}/${host}" | wc -l)" = 0 ]] ; then
 | 
						|
		if ! [ -e ${SHARE_ROOT}/${host} ] ; then
 | 
						|
			@ mkdir -p ${SHARE_ROOT}/${host}
 | 
						|
		fi
 | 
						|
		@ pct set $id -mp0 ${SHARE_ROOT}/${host},mp=/mnt/shared,backup=0
 | 
						|
	fi
 | 
						|
 | 
						|
	# special case: syncthing...
 | 
						|
	if [ -n $SYNCTHING ] && [ "$host" = "$SYNCTHING" ] ; then
 | 
						|
		if [[ "$(cat $ct | grep "mp[0-9]:.*mp=$SYNCTHING_DIR" | wc -l)" = 0 ]] ; then
 | 
						|
			@ pct set $id -mp1 ${SHARE_ROOT},mp=$SYNCTHING_DIR,backup=0
 | 
						|
		fi
 | 
						|
	fi
 | 
						|
done
 | 
						|
 | 
						|
# vim:set ts=4 sw=4 nowrap :
 |