Fix media sync, add files checks
This commit is contained in:
parent
abb06f9c80
commit
4131ddfb73
|
@ -2,7 +2,6 @@
|
|||
#
|
||||
# Options
|
||||
# Device block to write on
|
||||
# TODO : Add flags check
|
||||
# Colored output
|
||||
#~ set +x
|
||||
bold=$(tput bold)
|
||||
|
@ -26,19 +25,35 @@ function yellow(){
|
|||
}
|
||||
|
||||
SDCARD=$1
|
||||
if [ "$SDCARD" == "" ]
|
||||
# TODO : accomodate for devices block with name mmcblk0p1|p2
|
||||
if [ "$SDCARD" == "" ] || [ ! -e "$SDCARD" ]
|
||||
then
|
||||
red "Please specify the SDcard device block, e.g: '/dev/mmcblk0'."
|
||||
red "Please specify an existing device block for your sd-card, e.g: '/dev/sda'."
|
||||
exit 0
|
||||
fi
|
||||
DD_BS="128K"
|
||||
DISK_IMAGE="$HOME/niels/imgs/2022-10-20-pilpil.img.xz"
|
||||
DISK_IMAGE="$HOME/niels/imgs/2022-10-21-pilpil.img.xz"
|
||||
if [ ! -f "$DISK_IMAGE" ]
|
||||
then
|
||||
red "Disk image not found, aborting..."
|
||||
exit 0
|
||||
fi
|
||||
CONFIG_DIR="$HOME/niels/pilpil-server"
|
||||
if [ ! -d "$CONFIG_DIR" ]
|
||||
then
|
||||
red "Config directory not found, aborting..."
|
||||
exit 0
|
||||
fi
|
||||
PI_USER="pil"
|
||||
BOOT_MOUNT="/run/media/$USER/boot"
|
||||
ROOTFS_MOUNT="/run/media/$USER/rootfs"
|
||||
#~ LOCAL_MEDIA_DIR="$HOME/Videos"
|
||||
LOCAL_MEDIA_DIR="$HOME/niels/medias"
|
||||
if [ ! -d "$LOCAL_MEDIA_DIR" ]
|
||||
then
|
||||
red "Medias directory not found, aborting..."
|
||||
exit 0
|
||||
fi
|
||||
REMOTE_MEDIA_DIR="$ROOTFS_MOUNT/home/$PI_USER/Videos"
|
||||
IP_RANGE="10.42.0.1"
|
||||
SSID="omen"
|
||||
|
@ -135,6 +150,8 @@ do
|
|||
green "Operation 4/13 : Changing hostname to $HOST_NAME ...\n"
|
||||
# Change hostname
|
||||
echo "$HOST_NAME" | sudo tee "$ROOTFS_MOUNT/etc/hostname"
|
||||
# Reflect that in /etc/hosts
|
||||
sed -i "$ d" "$ROOTFS_MOUNT/etc/hosts"
|
||||
echo -e "127.0.1.1\t$HOST_NAME" | sudo tee -a "$ROOTFS_MOUNT/etc/hosts"
|
||||
## Enable SSH
|
||||
green "Operation 5/13 : Enabling SSH server on boot ...\n"
|
||||
|
@ -148,7 +165,7 @@ do
|
|||
if [ "$ADD_SSH_CONF" == "y" ]
|
||||
then
|
||||
# Add to ~/.ssh/config
|
||||
echo -e "Host $HOST\n\tIdentityFile ~/.ssh/$HOST_NAME\n\tUser $PI_USER" | tee -a "$HOME/.ssh/config"
|
||||
echo -e "Host $HOST_NAME\n\tHostName $HOST\n\tIdentityFile ~/.ssh/$HOST_NAME\n\tUser $PI_USER" | tee -a "$HOME/.ssh/config"
|
||||
fi
|
||||
# Copy public key to rpi
|
||||
green "Operation 7/13 : Installing public SSH key $HOME/.ssh/$HOST.pub in $ROOTFS_MOUNT/home/$PI_USER/.ssh/authorized_keys...\n"
|
||||
|
@ -201,8 +218,8 @@ network={
|
|||
then
|
||||
USER_ID=$( cat "$ROOTFS_MOUNT/etc/passwd" | grep $PI_USER | awk -F: '{print $3}' )
|
||||
GROUP_ID=$( cat "$ROOTFS_MOUNT/etc/passwd" | grep $PI_USER | awk -F: '{print $4}' )
|
||||
sudo cp "$LOCAL_MEDIA_DIR/*" "$REMOTE_MEDIA_DIR/"
|
||||
sudo chown $USER_ID:$GROUP_ID "$REMOTE_MEDIA_DIR/*"
|
||||
sudo cp "$LOCAL_MEDIA_DIR/"* "$REMOTE_MEDIA_DIR/"
|
||||
sudo chown -R $USER_ID:$GROUP_ID "$REMOTE_MEDIA_DIR"
|
||||
sync
|
||||
else
|
||||
red "Not enough space on $ROOTFS_MOUNT, skipping..."
|
||||
|
@ -211,8 +228,8 @@ network={
|
|||
green "Operation 13/13 : Unmounting filesystems"
|
||||
umount $BOOT_MOUNT
|
||||
umount $ROOTFS_MOUNT
|
||||
yellow "Client $(($IP-10))/$CLIENT_NUMBER done."
|
||||
if [ $(($IP+1)) -le $(($CLIENT_NUMBER+$IP)) ]
|
||||
yellow "Client $(($IP-9))/$CLIENT_NUMBER done."
|
||||
if [ $(($IP+1)) -lt $(($CLIENT_NUMBER+$IP)) ]
|
||||
then
|
||||
red "Please swap sd card in reader and enter uppercase 'yes' to proceed with next client :"
|
||||
read -n 4 GO_ON
|
||||
|
|
Loading…
Reference in New Issue