]> git.scottworley.com Git - picsort/blobdiff - slurp-pics
Key creation
[picsort] / slurp-pics
index 77d3314087d824cb10b074984e5ae182755519e5..c730a0d0b08adc288bed895ddcbd8c87c85b1ffb 100755 (executable)
@@ -1,21 +1,35 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
+KEY=.slurp-key
+LEGACY='-oHostKeyAlgorithms=+ssh-dss'
+sftp=( sftp -v -P 19362 -i "$KEY" -oConnectTimeout=4 $LEGACY )
+
+if [[ ! -e "$KEY" ]];then
+  ssh-keygen -f "$KEY"
+  echo "I generated you a key! Copy $KEY.pub to devices' authorized_keys"
+  exit 1
+fi
+
+seendir="slurp-seen"
 while read host path;do
-  outdir="slurp-$host"
+  outdir="slurp-$host-${path//\//,}"
   {
-    mkdir -p "$outdir"
+    mkdir -p "$outdir" "$seendir/$outdir"
     echo "cd $path"
-    sftp -v -P 19362 -i .slurp-key "slurp@$host" <<< "cd $path"$'\n'"ls -1" |
+    "${sftp[@]}" "slurp@$host" <<< "cd $path"$'\n'"ls -1" |
       sed 1,2d |
       while read filename;do
         output_filename="$outdir/${filename/jpg/jpeg}"
-        if [[ -e "$output_filename" ]];then
+        if [[ -e "$output_filename" || -e "$seendir/$output_filename" ]];then
           echo "skipping $filename" >&2
         else
           echo "getting $filename" >&2
           echo "get -p $filename $output_filename"
         fi
       done
-   } | sftp -v -P 19362 -i .slurp-key "slurp@$host"
-   rename-to-date -l "$outdir"/*
+   } | "${sftp[@]}" "slurp@$host"
+   for f in "$outdir"/*;do
+     touch "$seendir/$f"
+   done
+   ./rename-to-date "$outdir"/*
 done < .slurp-hosts