Skip to content

Instantly share code, notes, and snippets.

@qxj
Last active December 20, 2015 18:29
Show Gist options
  • Save qxj/6176133 to your computer and use it in GitHub Desktop.
Save qxj/6176133 to your computer and use it in GitHub Desktop.
备份本地照片到PicasaWeb存储上。 1. sync-to-vps.sh 中转到vps 2. sync-to-picasa.vps.sh 从vps备份到picasa
#!/bin/sh
# @(#) sync-to-picasa.sh Time-stamp: <Julian Qian 2013-08-08 00:58:30>
# Copyright 2013 Julian Qian
# Author: Julian Qian <junist@gmail.com>
# Version: $Id: sync-to-picasa.sh,v 0.1 2013-08-07 23:51:13 jqian Exp $
#
BACKUP_LIST=(
/store1/Downloads/LuluPhotos/百度云同步盘/来自:iPhone
/store1/Downloads/LuluPhotos/Backup
iPhone4 # prefix
/store1/Downloads/MyPhotos/百度云同步盘/来自:iPhone
/store1/Downloads/MyPhotos/Backup
iPhone5)
blcnt=${#BACKUP_LIST[@]}
((blcnt=$blcnt/3-1))
for i in $(seq 0 $blcnt); do
((i=i*3))
((i_backup=i+1))
((i_prefix=i+2))
echo ${BACKUP_LIST[$i]} ${BACKUP_LIST[$i_backup]} ${BACKUP_LIST[$i_prefix]}
src=${BACKUP_LIST[$i]}
dst_backup=${BACKUP_LIST[$i_backup]}
dst_prefix=${BACKUP_LIST[$i_prefix]}
find $src -iname "*.jpg" -print0 | while read -d $'\0' photo; do
# convert
filename=$(basename "$photo")
ds=${filename:0:10} # 2013-08-08
year=${filename:0:4}
album_name=$dst_prefix"_"$year
grep -q "$album_name" /tmp/google-albums.txt
if [[ $? -eq 1 ]]; then
google picasa create "$album_name"
echo $album_name >> /tmp/google-albums.txt
fi
# upload
echo -n "upload $filename to $album_name ..."
convert -scale 2048x2048 "$photo" "/tmp/$filename"
google picasa post "$album_name" "/tmp/$filename"
# archive
rm -f "/tmp/$filename"
mkdir -p "$dst_backup/$year"
mv "$photo" "$dst_backup/$year"
echo " done"
done
done
#!/bin/bash
# @(#) sync-to-picasa.sh Time-stamp: <Julian Qian 2013-08-12 19:03:40>
# Copyright 2013 Julian Qian
# Author: Julian Qian <junist@gmail.com>
# Version: $Id: sync-to-picasa.sh,v 0.1 2013-08-07 23:31:13 jqian Exp $
#
SYNC_LIST=(/home/jqian/iPhone4
/home/jqian/iPhone5)
rm -f /tmp/google-albums.txt
for i in ${SYNC_LIST[@]}; do
prefix=$(basename $i)
google picasa list-albums "${prefix}*" >> /tmp/google-albums.txt
done
for i in ${SYNC_LIST[@]}; do
prefix=$(basename $i)
find $i -iname "*.jpg" | tr -s ' ' '_' | sort | while read -d $'\0' photo; do
# convert
filename=$(basename "$photo")
ds=${filename:0:10} # 2013-08-08
year=${filename:0:4}
album_name=$prefix"_"$year
grep -q "$album_name" /tmp/google-albums.txt
if [[ $? -eq 1 ]]; then
google picasa create "$album_name"
echo $album_name >> /tmp/google-albums.txt
fi
# upload
google picasa post "$album_name" "$photo"
done
done
#!/bin/sh
# @(#) sync-to-vps.sh Time-stamp: <Julian Qian 2013-08-12 11:16:14>
# Copyright 2013 Julian Qian
# Author: Julian Qian <junist@gmail.com>
# Version: $Id: sync-to-vps.sh,v 0.1 2013-08-12 10:51:00 jqian Exp $
#
BACKUP_LIST=(
/store1/Downloads/LuluPhotos/百度云同步盘/来自:iPhone # orignal
/store1/Downloads/LuluPhotos/Backup # backup
/store1/Downloads/LuluPhotos/iPhone4 # rsync
/store1/Downloads/MyPhotos/百度云同步盘/来自:iPhone
/store1/Downloads/MyPhotos/Backup
/store1/Downloads/MyPhotos/iPhone5)
blcnt=${#BACKUP_LIST[@]}
((blcnt=$blcnt/3-1))
for i in $(seq 0 $blcnt); do
((i=i*3))
((i_backup=i+1))
((i_rsync=i+2))
echo ${BACKUP_LIST[$i]} ${BACKUP_LIST[$i_backup]} ${BACKUP_LIST[$i_rsync]}
src=${BACKUP_LIST[$i]}
dst_backup=${BACKUP_LIST[$i_backup]}
dst_rsync=${BACKUP_LIST[$i_rsync]}
# flag=$(basename $dst_rsync)
mkdir -p $dst_backup
mkdir -p $dst_rsync
find $src -iname "*.jpg" -print0 | while read -d $'\0' photo; do
# convert
filename=$(basename "$photo")
echo "convert $photo ..."
convert -scale 2048x2048 "$photo" "$dst_rsync/$filename"
# archive
mv "$photo" "$dst_backup"
done
rsync -avz -e "ssh -l jqian" "$dst_rsync" vps:/home/jqian/
rm -rf ${dst_rsync}.bak
mv ${dst_rsync} ${dst_rsync}.bak
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment