Finish generalizing

This commit is contained in:
cryobry
2020-07-13 13:20:19 -04:00
parent 9b9d20380b
commit a99eefd7e5
4 changed files with 15 additions and 13 deletions

View File

@@ -24,8 +24,9 @@
debug="off" # turn "on" for debugging debug="off" # turn "on" for debugging
# IMPORTANT OPTIONS # # IMPORTANT OPTIONS #
service_name="rsync-to-picture-frame" # use something specific and memorable service_name="rsync-to-picture-frame" # use something specific and memorable
frame_address="192.168.1.100:2221" # you can find this on the frame, best to make static description="Mount picture frame ftp share and rsync syncthing picture_frame directory to it" # a short description
source_dir="$HOME/Pictures/picture_frame" # source pictures/content from this directory ftp_share="192.168.1.100:2221" # source share, best to make this a static address if you can
source_dir="$HOME/Pictures/picture_frame" # source files from this directory
# Less important options # Less important options
user="$(id -un)" # default run as current user user="$(id -un)" # default run as current user
user_id="$(id -u)" # default run as current user user_id="$(id -u)" # default run as current user
@@ -156,7 +157,7 @@ main() {
make_exec "$script_dir/$service_name.sh" make_exec "$script_dir/$service_name.sh"
f_and_r "{{mount_dir}}" "$mount_dir" "$script_dir/$service_name.sh" f_and_r "{{mount_dir}}" "$mount_dir" "$script_dir/$service_name.sh"
f_and_r "{{source_dir}}" "$source_dir" "$script_dir/$service_name.sh" f_and_r "{{source_dir}}" "$source_dir" "$script_dir/$service_name.sh"
f_and_r "{{frame_address}}" "$frame_address" "$script_dir/$service_name.sh" f_and_r "{{ftp_share}}" "$ftp_share" "$script_dir/$service_name.sh"
f_and_r "{{user_id}}" "$user_id" "$script_dir/$service_name.sh" f_and_r "{{user_id}}" "$user_id" "$script_dir/$service_name.sh"
f_and_r "{{group_id}}" "$group_id" "$script_dir/$service_name.sh" f_and_r "{{group_id}}" "$group_id" "$script_dir/$service_name.sh"
f_and_r "{{temp_dir}}" "$temp_dir" "$script_dir/$service_name.sh" f_and_r "{{temp_dir}}" "$temp_dir" "$script_dir/$service_name.sh"
@@ -164,10 +165,12 @@ main() {
# Copy service file # Copy service file
cp_file "original.service" "$service_dir/$service_name.service" cp_file "original.service" "$service_dir/$service_name.service"
f_and_r "{{path_to_script}}" "$script_dir/$service_name.sh" "$service_dir/$service_name.service" f_and_r "{{path_to_script}}" "$script_dir/$service_name.sh" "$service_dir/$service_name.service"
f_and_r "{{description}}" "$script_dir/$service_name.sh" "$service_dir/$service_name.service"
# Copy timer file # Copy timer file
cp_file "original.timer" "$service_dir/$service_name.timer" cp_file "original.timer" "$service_dir/$service_name.timer"
f_and_r "{{on_calendar}}" "$on_calendar" "$service_dir/$service_name.timer" f_and_r "{{on_calendar}}" "$on_calendar" "$service_dir/$service_name.timer"
f_and_r "{{description}}" "$description" "$service_dir/$service_name.timer"
# Enable timer # Enable timer
debug "systemctl --user daemon-reload" debug "systemctl --user daemon-reload"

View File

@@ -1,5 +1,5 @@
[Unit] [Unit]
Description="Mount picture frame ftp and rsync photo directory" Description="{{description}}}}"
After=network-online.target After=network-online.target
Wants=network-online.target Wants=network-online.target

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# This script will mount mom's photo frame ftp share locally # Use install.sh to edit settings
# Use install.sh to change settings
# if the mount already exists, unmount it # if the mount already exists, unmount it
mountpoint -q -- "{{mount_dir}}" && fusermount -u "{{mount_dir}}" mountpoint -q -- "{{mount_dir}}" && fusermount -u "{{mount_dir}}"
@@ -9,7 +8,7 @@ mountpoint -q -- "{{mount_dir}}" && fusermount -u "{{mount_dir}}"
[[ ! -d "{{temp_dir}}" ]] && mkdir -p "{{temp_dir}}" [[ ! -d "{{temp_dir}}" ]] && mkdir -p "{{temp_dir}}"
# Mount it and rsync over the photos # Mount it and rsync over the photos
if curlftpfs -o uid="{{user_id}}",gid="{{group_id}}" "{{frame_address}}" "{{mount_dir}}"; then if curlftpfs -o uid="{{user_id}}",gid="{{group_id}}" "{{ftp_share}}" "{{mount_dir}}"; then
if ! rsync -r --delete --quiet --temp-dir="{{temp_dir}}" "{{source_dir}}/" "{{mount_dir}}"; then if ! rsync -r --delete --quiet --temp-dir="{{temp_dir}}" "{{source_dir}}/" "{{mount_dir}}"; then
echo "rsync -r --delete --quiet {{source_dir}}/ {{mount_dir}} failed!" echo "rsync -r --delete --quiet {{source_dir}}/ {{mount_dir}} failed!"
exit 1 exit 1
@@ -19,12 +18,12 @@ if curlftpfs -o uid="{{user_id}}",gid="{{group_id}}" "{{frame_address}}" "{{moun
exit 1 exit 1
fi fi
else else
echo "Could not mount Mom's picture frame" echo "Could not mount ftp share"
if ping -c 1 "{{frame_address}}"; then if ping -c 1 "{{ftp_share}}"; then
echo "Ping OK, check the photo frame settings or the filesystem" echo "Ping OK, check the ftp device settings or the local filesystem permissions"
exit 1 exit 1
else else
echo "Could not ping the photo frame, is it on?" echo "Could not ping the device, is it on?"
exit 1 exit 1
fi fi
fi fi

View File

@@ -1,5 +1,5 @@
[Unit] [Unit]
Description="Transfer photos to picture frame hourly" Description="{{description}}"
[Timer] [Timer]
OnBootSec=1min OnBootSec=1min