|
#!/bin/bash |
|
|
|
DEST=@SLACK_USERNAME |
|
TOKEN=SLACK_TOKEN |
|
VENDOR_ID=aaaa # from lsusb |
|
PRODUCT_ID=aaaa # from lsusb |
|
MOUNT_TARGET=/mnt |
|
PART_UUID=XXXX-XXXXX-XXXX-XXXX # from /usr/bin/lsblk --list --output NAME,FSSIZE,FSTYPE,FSUSED,FSUSE%,FSVER,UUID,GROUP,LABEL,TYPE,VENDOR |
|
|
|
sendMessage () { |
|
/usr/bin/curl -H 'Content-Type: application/json' -d '{"text": "'"$1"'", "channel": "'$DEST'"}' -H "Authorization: Bearer $TOKEN" -X POST https://slack.com/api/chat.postMessage -q > /dev/null 2>&1 |
|
} |
|
|
|
sync () { |
|
/usr/bin/rsync -avP -e 'ssh -i /root/scripts/id_rsa_backup' user@SERVER:/remoteLocation $MOUNT_TARGET/backups/ |
|
result=$? |
|
|
|
if [[ "$result" != "0" ]]; then |
|
sendMessage "An error occurred while doing rsync..." |
|
else |
|
sleep 5 |
|
/usr/bin/umount $MOUNT_TARGET |
|
sendMessage "Done. USB Can be disconnected." |
|
fi |
|
} |
|
|
|
# sendMessage "Test 1" |
|
|
|
|
|
res=$(/usr/bin/lsusb -d $VENDOR_ID:$PRODUCT_ID) |
|
found=$? |
|
|
|
if [[ "$found" != "0" ]]; then |
|
/usr/bin/echo "USB Device not detected" |
|
exit -1 |
|
else |
|
/usr/bin/echo "USB Device detected" |
|
fi |
|
|
|
DEVICES=$(/usr/bin/lsblk --list --output NAME,FSSIZE,FSTYPE,FSUSED,FSUSE%,FSVER,UUID,GROUP,LABEL,TYPE,VENDOR | grep $PART_UUID) |
|
MATCHING_PART=$(/usr/bin/echo "$DEVICES" | cut -d\ -f1) |
|
|
|
if [[ "$MATCHING_PART" == "" ]]; then |
|
/usr/bin/echo "Part not found" |
|
exit -1 |
|
fi |
|
|
|
if /usr/bin/mountpoint -q "$MOUNT_TARGET"; then |
|
/usr/bin/echo "Already mounted" |
|
else |
|
/usr/bin/echo "Mounting..." |
|
/usr/bin/mount -o rw,noatime,compress=no /dev/$MATCHING_PART $MOUNT_TARGET |
|
fi |
|
|
|
/usr/bin/echo "File system mounted !" |
|
|
|
DEVICES=$(/usr/bin/lsblk --list --output UUID,FSSIZE,FSTYPE,FSUSED,FSUSE% | grep $PART_UUID) |
|
USED=$(/usr/bin/echo $DEVICES | cut -d\ -f4) |
|
TOTAL=$(/usr/bin/echo $DEVICES | cut -d\ -f2) |
|
USED_PERCENT=$(/usr/bin/echo $DEVICES | cut -d\ -f5) |
|
|
|
/usr/bin/echo "Usage : $USED / $TOTAL ($USED_PERCENT)" |
|
/usr/bin/echo "Starting sync" |
|
|
|
sendMessage "File system mounted \nUsage : $USED / $TOTAL ($USED_PERCENT) \nStarting offline copy..." |
|
|
|
sync |