Aller au contenu

Sauvegarde Dossier "surveillance" Vers Google Drive


macandnews

Messages recommandés

Bonjour,

J'ai installé une caméra IP sur mon NAS Synology DS1511+ qui fonctionne sous DSM 5.x.
La caméra fonctionne très bien et le logiciel "Surveillance Station" enregistre les vidéos dans le dossier "Surveillance" qui a été créé par le DSM lors de l'installation de la caméra.

Là où commencent mes problèmes, c'est que je voudrais sauvegarder automatiquement ce dossier "Surveillance" sur mon compte en ligne "Google Drive" dès qu'un enregistrement ce produit sur le NAS, mais je n'y arrive pas ! icon_cry.gif

Quelqu'un pourrait-il m'expliquer comment faire confused.gificon_idea.gif

Merci icon_wink.gif

Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...
  • 3 mois après...

Bonjour,

Je suis aussi confronté au même problème. Avant j'avais utilisé le logiciel Synobox que j'avais paramétré pour synchroniser mon répertoire Surveillance avec la Dropbox, tout fonctionnait parfaitement. Mon espace Dropbox a été réduit après 2 ans d'utilisation de 50 Go à 6 Go. J'ai donc décidé d'utiliser mon espace Google Drive afin de synchroniser mon dossier Surveillance avec celui-ci. J'ai donc installé Cloud Sync et tenté la synchro avec le dossier Surveillance.

problème : la synchro échoue car je ne dispose pas des droits nécessaires sur le dossier Surveillance (impossible de changer les droits)
Je recherche une solution sur Internet et je trouve une possibilité :
- monter un dossier Surveillancebis au démarrage du Synology qui un clone du dossier Surveillance
- j'utilise 2 scripts bash qui permettent la mise en œuvre via une connexion au NAS par Putty.exe
- je tente alors la synchronisation du dossier Surveillancebis avec Google Drive en utilisant Cloud Sync.
Cela fonctionne mais ...
Lorsqu'une séquence vidéo est enregistrée par une caméra (fichier au format mp4 ou avi), j'observe que le fichier vidéo est présent dans le dossier Surveillance et que son clone est présent dans le dossier Surveillancebis. S'il s'agit d'une nouvelle journée, Surveillance Station crée un nouveau répertoire dans lequel se trouve ce 1er fichier vidéo. Tout se déroule bien en local. Malheureusement quand Cloud Sync doit opérer, il crée bien le nouveau répertoire du jour mais le fichier vidéo qui devrait être présent sur Google Drive est tronqué (corrompu, impossible de lire la vidéo). En plus si un 2ème fichier est enregistré le même jour, il est placé dans le même répertoire à la suite du 1er fichier mais Cloud Sync n'effectue pas le travail donc ce 2ème fichier n'est pas enregistré sur le Google Drive. (idem avec un 3ème fichier, etc ...)
Un remède mais il faut intervenir manuellement, ouvrir Cloud Sync, changer le type de Synchro et sauvegarder (bidirectionnel en upload local ou l'inverse). La synchronisation s'effectue alors correctement. (autre possibilité : redémarrer le NAS). J'ai également testé avec One Drive mais ce sont les mêmes problèmes.

Si on ajoute manuellement par copier/coller, un fichier dans Surveillancebis alors la synchro fonctionne correctement.
Autre remède, via un fichier bash, copier les fichiers vidéo vers un répertoire synchronisé avec Google Drive mais à quelle fréquence faut-il démarrer cette tâche ?
Il semblerait que Cloud Sync pose un problème, je suis en DSM 5.2-5592 Update 3 sur le NAS.

[EDIT du 29/08/2015]
Je viens de réaliser un fichier bash qui permet de solutionner les problèmes. Je teste et si vous êtes toujours intéressés, je publie le code.

 

 

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

J'utilise un fichier bash avec une commande rsync qui permet de copier le dossier Surveillance vers le dossier Surveillancebis qui est synchronisé avec Google Drive via l'application Cloud Sync. Ce bash est lancé comme tâche (via le Planificateur de tâches) avec un délai de 5 minutes lorsque les caméras fonctionnent en détection de mouvements.

#!/bin/sh
heure=$(date +%H.%M)
jour=$(date +%d-%m-%Y)
cd /volume1/emplacementscript / # important  de se placer dans le dossier qui contient ce script
echo "demarrage de video_rsync le $jour a $heure" > demarrage_video_rsync.log # pour obtenir les logs de démarrage
rsync -azur --delete-after --log-file="rsync.log"  /volume1/surveillance/ /volume1/surveillancebis/
exit 0

On peut aussi opter pour la création d'une archive zip dans un répertoire synchronisé avec Google Drive.
Cela donne de meilleurs résultats vu que l'on obtient des fichiers compressés. Voir la suite de ce post ...

 

 

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous, moi aussi j'ai été confronté à ce problème que j'ai résolu un peu par hasard. Cloud sync refuse de synchroniser le dossier surveillance qui protégé par le DSM.

Le dossier surveillance étant créé, il faut faire un reset et réinstaller le DSM. Avant d'installer Surveillance station, installez Cloud Sync et synchronisez le dossier Surveillance qui n'est pas bloqué par le DSM puisque surveillance station n'est pas installé, et ensuite installez le.

Et voilà le tour est joué, je sais ce n'est très élégant mais ça marche.

J'avais demandé a Synology s'il était possible de le faire, ils m'ont répondu que le dossier était protégé , "point".

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

je pense que tu veux synchronisé le dossier "surveillance" pour la même raison que moi, pour avoir une trace des vidéos en cas d'infraction, mais si le malfaiteur s'en prend assez rapidement au DS, il faut rapatrier le plus rapidement les preuves.

Malgré que ta solution soit très ingénieuse et instructive pour la copie de dossier protégé, la mienne évite les 5 minutes et les temps de copie qui dans le cas qui nous intéresse peut être primordiale.

A plus

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, je ne parle pas de la rapidité d'être informé de la détection d'un mouvement, mais plutôt des vidéos qui pourront servir a identifier un intrus avant qu'il est l'idée ou le hasard de s'en prendre au DS, et donc le rapatriement doit être le plus rapide possible en sachant qu'il dépend également du débit montant de l'ADSL.

L'intrus n'est pas forcement sur la photo, il peut avoir la tête baissée, je pense que le plus important est de pouvoir si possible l'identifier par la suite, car au moment de l'intrusion on ne se trouve bien souvent loin du lieux, donc on ne peut rien faire si ce n'est avertir la police ou gendarmerie a condition qu'ils soient réactifs ce qui est loin d'être le cas !!!!!

A plus

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je viens d'améliorer mon script bash qui a pour but de réaliser des archives zip dans un répertoire "surveillancebis" synchronisé avec Google Drive.
Ce script est démarré par une tâche planifiée  toutes les 5 minutes (on pourrait diminuer à 1 minute). Le fait qu'il s'agit d'archives au format zip, permet une synchronisation assez rapide (ma vitesse d'envoi est de 2,74Mbit/s). La synchronisation avec Google Drive est réglée sur 30 secondes avec un upload vers Google Drive lors d'un changement sur le dossier local.
J'effectue actuellement des tests et actuellement cela paraît efficace.
J'ai également réalisé un script bash qui permet (start  | stop) d'activer et de désactiver les 2 caméras en surveillance.  Malheureusement si on active les 2 caméras par ce script, l'interface web de Surveillance Station ne prend pas en compte le fait que les 2 caméras sont actives. Je cherche une solution, si vous avez une piste ... 

Je suis d'accord avec jms8591 sur le fait de pouvoir récupérer les vidéos. On peut aussi effectuer les 2 opérations mais j'ai souvent des déclenchements intempestifs des caméras (volets automatiques et éclairages automatiques) donc je risque de recevoir une quantité de courriels assez importante.

 

 

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

Je viens de placer le code du script bash qui permet de créer des archives zip des vidéos enregistrées par Surveillance Station. Ces archives sont placées dans un dossier synchronisé avec Google Drive. Je déclenche ce script en tâche programmée (chaque 5 minutes) sur le Synology. J'ai effectué des tests pendant 4 jours et cela paraît concluant.

Pour la mise en place :
Copier le script dans un emplacement dédié sur le Synology (/volume1/emplacementscript/)
Créer un dossier pour recevoir les archives zip (/volume1/surveillancebis/)
Effectuer les adaptations dans le script en fonction des noms de dossier et des noms de caméra
Tester en se connectant en ssh avec Putty.exe sous Windows (pour afficher les erreurs à l'écran commenter les lignes chargées de réorienter les erreurs vers un fichier)
Se placer dans le répertoire du script et le lancer avec la commande suivante : sh video_rsync.sh (on peut ajouter des paramètres -> voir les explications dans le script)
Les tests ont été effectués avec 2 caméras ( intéressant d'avoir les tests avec 1 ou 3 caméras ...)
Attention les fichiers vidéos enregistrés par la 1ère caméra sont au format mp4 et ceux de la 2ème caméra sont au format avi. Une adaptation est éventuellement nécessaire au niveau du script.

Si le script ne se lance pas, vérifier les droits en exécution. (se placer dans le répertoire du script et exécuter la commande : chmod +x video_rsync.sh)

En espérant qu'il n'y aura pas trop de problèmes ...
Merci d'avance pour les retours qui me permettront d'améliorer le script.   

Si tout est ok, on peut alors créer une tâche planifiée via le Planificateur de tâches de Synology. (Créer un script défini par l'utilisateur, indiquer le chemin absolu vers le script et ajouter les paramètres désirés, programmer un démarrage toutes les 5 minutes et enregistrer la tâche.) 

[EDIT du 23/09/2015]
J'ai modifié mon script suite à une recherche sur Internet. Le script démarre et arrête maintenant les caméras en concordance avec l'interface web de Surveillance Station (utilisation de la commande wget -> voir http://forum.synology.com/enu/viewtopic.php?f=82&t=47074&sid=624dd57738d6deeff14282584b77f5b4&start=15 ). Les tests sont concluants. Il faudra que je publie une nouvelle version ... c'est fait !
Reste à trouver comment gérer Cloud Sync de façon similaire ...c'est fait !
Je publie de nouveau le code ...

Il restait cependant un problème : comment savoir si Cloud Sync est en pause ou non (voir interface web de Cloud Sync)
J'ai la solution et je teste actuellement ...  ok cela semble bien fonctionner.

voici le code :

#!/bin/sh
cd "$PWD/" # se place dans le dossier d'emplacement du script

# traitement de toutes les erreurs redirigées vers le fichier erreurs_video_rsync.log
> erreurs_video_rsync.log # ligne à commenter si on veut les erreurs à l'écran de la console
exec 6>&2 # ligne à commenter si on veut les erreurs à l'écran de la console
exec 2>>erreurs_video_rsync.log # ligne à commenter si on veut les erreurs à l'écran de la console

ID="$RANDOM"
USER="xxxxx" # nom d'un utilisateur défini dans Surveillance Station avec les droits sur CloudSync - à introduire
PASS="xxxxx" # mot de passe de cet utilisateur - à introduire 
SERVEUR="xxx.xxx.xxx.xxx:xxxx" # adresse IP du serveur et port de connexion, ex ; "192.168.0.12:9900" - à introduire

heure=$(date +%Hh-%Mmin)
jour=$(date +%d-%m-%Y)
jour_archive=$(date +%Y-%m-%d) #yyyy-mm-dd pour option t de zip

# calcule le nombre de minutes depuis le début de ce jour à 00.00 h.m -> utilisé pour la commande find chargée de trouver les fichiers vidéos créés ce jour
diff_min=$(date +"%M") 
diff_heure=$(date +"%H")
if [ "${diff_min::1}" == "0" ] ; then diff_min=${diff_min:1} ; fi
if [ "${diff_heure::1}" == "0" ] ; then diff_heure=${diff_heure:1} ; fi
diff_heure=$(($diff_heure*60))
min_ecoulees=$(($diff_heure+$diff_min))

#rep_1_source et rep_2_source sont les noms des répertoires où Surveillance Station enregistre les fichiers vidéos - on considère 2 caméras
rep_1_source="/volume1/surveillance/CameraBureau/" # à adapter - terminer par /
rep_2_source="/volume1/surveillance/CameraCouloir/" # à adapter - erminer par /

#rep_zip est le nom du répertoire dans lequel sont enregistrées les archives zip - ce dossier est synchronisé avec Google Drive et doit être créé
rep_zip="/volume1/surveillancebis/videos/" # à adapter - terminer par /

synchro="$1" # si 1 le processus de CloudSynchro est démarré par ce script - si 0, ce script ne gère pas la synchro
			 # si 2 le processus de CloudSynchro est arrêté par ce script

# nom de chacune des caméras
camera_1="caméra_bureau"
camera_2="caméra_couloir"

##################### fonctions de GESTION DES 2 CAMERAS ######################################################

# statuts des cameras actives ou non ?
statuts_cameras() {
	proc="[/]var/packages/SurveillanceStation/target/sbin/ssd -c $1"
	PID=$(ps -w | grep "$proc" -m1)
	if [ $? = 0 ] ; then
		echo "est activée"		
	else
		echo "n'est pas activée"		
	fi	
}

demarre_cameras() {
# activation des 2 caméras en fonction du paramètre intoduit
	# ancienne méthode d'activation sans concordance avec l'interface web de Surveillance Station
	#/var/packages/SurveillanceStation/target/sbin/ssd -c "$1" 
	
	# méthode d'activation des caméras en concordance avec l'interface web de Surveillance Station
	VER="1"
	wget -q --keep-session-cookies --save-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=${VER}&account=${USER}&passwd=${PASS}">/dev/null 2>&1
	VER="3"
	wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=Enable&version=${VER}&cameraIds=$1">/dev/null 2>&1
	VER="1"
	wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=${VER}">/dev/null 2>&1
	
	echo "est activée"
	> $rep_zip"cameras_ON"
	if [ -e $rep_zip"cameras_OFF" ] ; then rm $rep_zip"cameras_OFF" ; fi
	}

arrete_cameras()
{
	# ancienne méthode de désactivation des caméras sans concordance avec l'interface web de Surveillance Station
	#proc="[/]var/packages/SurveillanceStation/target/sbin/ssd -c $1"
	#PID=$(ps -w | grep "$proc" | awk '{ print $1 }')
	#kill "$PID"
	
	# méthode de désactivation des caméras en concordance avec l'interface web de Surveillance Station
	VER="1"
	wget -q --keep-session-cookies --save-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=${VER}&account=${USER}&passwd=${PASS}">/dev/null 2>&1
	VER="3"
	wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=Disable&version=${VER}&cameraIds=$1">/dev/null 2>&1
	VER="1"
	wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=${VER}">/dev/null 2>&1
			
	echo "est arrêtée"
	> $rep_zip"cameras_OFF"
	if [ -e $rep_zip"cameras_ON" ] ; then rm $rep_zip"cameras_ON" ; fi
}

demarre_arrete_cloud_sync()
{
# reprend la synchro lorsqu'elle est en pause ou met en pause lorsqu'elle est active en concordance avec l'interface web de CloudSync
# cette fonction reçoit 1 paramètre - soit $1=pause - soit $1=resume
# il est nécessaire de définir un utilisateur ayant les droits sur l'exécution de CloudSync (admin avec mot de passe)
VER="1"
wget -q --keep-session-cookies --save-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=${VER}&account=${USER}&passwd=${PASS}">/dev/null 2>&1
wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/entry.cgi?api=SYNO.CloudSync&method=$1&version=${VER}">/dev/null 2>&1
wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=${VER}">/dev/null 2>&1
}

statut_cloud_sync()
{
# récupère la valeur du PID de Cloud Sync dans le fichier syno-cloud-syncd.pid
if [ -f /var/run/syno-cloud-syncd.pid ] ; then
	PID_cloud_sync=`head -1 /var/run/syno-cloud-syncd.pid`
else
	statclsync="n'est pas installé !"
fi

if [ -n "$PID_cloud_sync" ] ; then
	# récupère le statut du processus Cloud Sync (S = actif / T = inactif)
	STCS=$(ps -w | grep '[/]var/packages/CloudSync/target/sbin/syno-cloud-syncd' | awk '{ print $4 }')
	statclsync="processus absent"
	if [ "$STCS" == "T" ] ; then statclsync="processus présent mais non actif" ; fi
	if [ "$STCS" == "S" ] ; then statclsync="processus présent et actif" ; fi
	if [ -z "$STCS" ] && [ "$synchro" == "1" ]; then 
		statclsync="processus non présent -> tente de le relancer" 
		# tente de relancer le processus Cloud Sync après un kill -9
		/var/packages/CloudSync/target/sbin/syno-cloud-syncd /volume1/@cloudsync/config/daemon.conf	
	fi
fi
}

statut_cloud_sync_web()
{
# récupère le statut de Cloud Sync en fonction du paramétrage de l'interface web de Cloud Sync
statclsyncweb="absent"
SCSW="A" 
VER="1"
wget -q --keep-session-cookies --save-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=${VER}&account=${USER}&passwd=${PASS}">/dev/null 2>&1
statut_sync=$(wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O-  "http://${SERVEUR}/webapi/entry.cgi?is_tray=false&api=SYNO.CloudSync&method=list_conn&version=${VER}")
wget -q --load-cookies /tmp/syno-cookies-${ID}.txt -O- "http://${SERVEUR}/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=${VER}">/dev/null 2>&1

if echo "$statut_sync" | grep '"is_pause":false' >/dev/null 2>&1 ; then SCSW="R";statclsyncweb="la synchro est lancée" ; fi
if echo "$statut_sync" | grep '"is_pause":true' >/dev/null 2>&1 ; then SCSW="P";statclsyncweb="la synchro est en pause" ; fi
}

###############################################################################################################
# les informations de ce script sont redirigées vers un fichier "demarrage_video_rsync-$jour-$min_ecoulees.log" se trouvant dans le dossier rep_zip
# nom du fichier log qui change en fonction du jour et du nombre de minutes écoulées depuis 00h00min
fichier_log="demarrage_video_rsync-$jour-$min_ecoulees.log"
rm "$rep_zip""demarrage_video_rsync"*".log" # efface les anciens fichiers log

echo "***************** Check Surveillance Station processus ********************" | tee "$rep_zip""$fichier_log"
echo "Démarrage de l'archivage des vidéos de surveillance le $jour à $heure" | tee -a "$rep_zip""$fichier_log"
echo "Chemin absolu du script : $PWD/$0 $1 $2 $3" | tee -a "$rep_zip$fichier_log"
echo "Nouveau nom du fichier log = $fichier_log" | tee -a "$rep_zip$fichier_log"

############## GESTION DES 2 CAMERAS ##########################################################################
# vérifie l'état d'activation des 2 caméras - appel la fonction statuts_cameras 
nbr_cameras=0
stat_1=$(statuts_cameras "5") # le paramètre "5" est l'id de la caméra attribué par Surveillance Station
stat_2=$(statuts_cameras "6") # le paramètre "6" est l'id de la caméra attribué par Surveillance Station
# Pour trouver id de la caméra, ouvrir le fichier "cam_settings.conf" situé dans le sous-dossier de la caméra du répertoire Surveillance
# effectuer dans ce fichier texte, une recherche sur "id": 
# le nombre recherché est celui après les 2 points, ex : ,"id":5, 
echo "Statut caméra : la $camera_1 $stat_1" | tee -a "$rep_zip$fichier_log"
if [ "$stat_1" == "est activée" ] ; then let nbr_cameras++ ; fi
echo "Statut caméra : la $camera_2 $stat_2" | tee -a "$rep_zip$fichier_log"
if [ "$stat_2" == "est activée" ] ; then let nbr_cameras++ ; fi

# active les caméras si demandé $2=1 et si elles ne sont pas déjà actives
if [ "$2" == "1" ] && [ "$stat_1" == "n'est pas activée" ] ; then
	if [ -z "$3" ] ; then 
		tempo="0" 
	else
		tempo=$3 # 3me paramètre éventuel - nombre de minutes avant d'activer les caméras
                if [ "$tempo" -gt "4" ] ; then tempo="4" ; fi 
		# la temporisation de mise en marche des caméras ne peut pas dépasser 4 minutes car la tâche planifiée s'effectuera de 5 en 5 minutes !		
                echo "Les caméras seront activées dans $tempo minute(s)" | tee -a "$rep_zip$fichier_log"
		sleep $(($tempo*60)) # temporise $3 minutes avant de démarrer les caméras - temps de sortie oblige !
	fi
	stat_1=$(demarre_cameras "5")
	echo "La $camera_1 $stat_1" | tee -a "$rep_zip""$fichier_log"
	let nbr_cameras++
fi
if [ "$2" == "1" ] && [ "$stat_2" == "n'est pas activée" ] ; then
	stat_2=$(demarre_cameras "6")
	echo "La $camera_2 $stat_2" | tee -a "$rep_zip""$fichier_log"
	let nbr_cameras++
fi

# arrête les caméras si demandé $2=2 et si elles ont été activées
if [ "$2" == "2" ] && [ "$stat_1" == "est activée" ] ; then
	stat_1=$(arrete_cameras "5")
	echo "La $camera_1 $stat_1" | tee -a "$rep_zip""$fichier_log"
	let nbr_cameras--
fi
if [ "$2" == "2" ] && [ "$stat_2" == "est activée" ] ; then
	stat_2=$(arrete_cameras "6")
	echo "La $camera_2 $stat_2" | tee -a "$rep_zip""$fichier_log"
	let nbr_cameras--
fi

##### nombre de caméras activées 0 - 1 ou 2
#echo "Nombre de caméras actives = $nbr_cameras" # enlever "#" en début de cette ligne pour afficher en console
echo "Nombre de caméras actives = $nbr_cameras" | tee -a "$rep_zip""$fichier_log"
# si le nombre de caméras actives est > 0 alors 
if [ "$nbr_cameras" -gt "0" ] ; then
	echo "Surveillance Station processus est actif avec $nbr_cameras caméra(s)" | tee -a "$rep_zip""$fichier_log"
else
	echo "Surveillance Station processus n'est pas actif - $nbr_cameras caméra activée" | tee -a "$rep_zip""$fichier_log"
fi

############# GESTION DE LA SYNCHRONISATION avec GOOGLE DRIVE ###################################################
statut_cloud_sync # récupère le statut du processus S ou T
statclsyncweb="statut interface web ?" # récupère le statut de l'interface web Pause ou Resume
if [ -n "$PID_cloud_sync" ] && [ "$STCS" == "S" ]; then statut_cloud_sync_web;fi
echo "Cloud Sync $statclsync -> $statclsyncweb" | tee -a "$rep_zip""$fichier_log"

# Synchronisation avec Google Drive gérée ou non par ce script
# cas où la synchro est gérée par ce script $synchro > 0 ( 1 ou 2 ou 3 ou 4)
if [ "$synchro" -gt "0" ] ; then
	if [ "$STCS" == "S" ] && [ "$synchro" == "1" ]; then
		# sortie de pause si le processus est en pause P
		if [ "$SCSW" ==  "P" ] ; then
			demarre_arrete_cloud_sync "resume"
			echo "Relance la synchronisation avec Google Drive gérée par ce script" | tee -a "$rep_zip""$fichier_log"
			statut_cloud_sync_web # vérifie de nouveau le statut via l'interface web
			if [ "$SCSW" == "R" ] ; then
				echo "Cloud Sync $statclsync -> $statclsyncweb" | tee -a "$rep_zip""$fichier_log"
			fi
		fi
	fi
	if [ "$STCS" == "T" ] ; then
		kill "-18" "$PID_cloud_sync" # déclenche la Synchro avec Google Drive si elle ne l'était pas - relance le processus mis en veille
		echo "Démarrage de la synchronisation avec Google Drive gérée par ce script" | tee -a "$rep_zip""$fichier_log"
		statut_cloud_sync # vérifie le statut
		statut_cloud_sync_web # vérifie de nouveau le statut via l'interface web
		if [ "$SCSW" ==  "P" ] ; then 
			demarre_arrete_cloud_sync "resume"
			statut_cloud_sync_web # vérifie de nouveau le statut via l'interface web
		fi
		echo "Cloud Sync $statclsync -> $statclsyncweb" | tee -a "$rep_zip""$fichier_log"
	fi
else
	echo "La synchronisation avec Google Drive n'est pas gérée par ce script" | tee -a "$rep_zip""$fichier_log"
fi
#################################################################################################################	

##################### GESTION DES ARCHIVES ZIP ##################################################################
##### compte le nombre de fichiers vidéos au format mp4 et avi dans chaque répertoire source de Surveillane Station dont la présence remonte au début de ce jour
vide_1=$(find "$rep_1_source" \( -iname '*.mp4' -o -iname '*.avi' \) -maxdepth 2 -type f -mmin -$min_ecoulees | wc -l) # pour caméra 1
vide_2=$(find "$rep_2_source" \( -iname '*.mp4' -o -iname '*.avi' \) -maxdepth 2 -type f -mmin -$min_ecoulees | wc -l) # pour caméra 2
echo "nombre de fichiers vidéos pour la caméra 1 = $vide_1" | tee -a "$rep_zip""$fichier_log" 
echo "nombre de fichiers vidéos pour la caméra 2 = $vide_2" | tee -a "$rep_zip""$fichier_log"

# si présence de fichiers mp4 ou avi enregistrés à partir du début de ce jour alors il est possible d'ajouter des fichiers mp4 ou avi à l'archive du jour	
if [ "$vide_1" -gt "0" ] || [ "$vide_2" -gt "0" ] ; then
	echo "Il y a des fichiers mp4 et avi enregistrés à la date du $jour dans les sous-répertoires de Surveillance Station" | tee -a "$rep_zip""$fichier_log"
	echo "jour archive = $jour_archive"  | tee -a "$rep_zip""$fichier_log"
	
	# taille des 2 fichiers zip avant archivage
	poids_fichier_1_old=0
	if [ -e "$rep_zip"archive-$camera_1-du_"$jour".zip ] ; then
		poids_fichier_1_old=`du -k "$rep_zip"archive-"$camera_1"-du_"$jour".zip | sed 's/\([0-9]*\)\(.*\)/\1/')`
	fi
	poids_fichier_2_old=0
	if [ -e "$rep_zip"archive-$camera_2-du_"$jour".zip ] ; then
		poids_fichier_2_old=`du -k "$rep_zip"archive-"$camera_2"-du_"$jour".zip | sed 's/\([0-9]*\)\(.*\)/\1/')`
	fi
	echo "poids fichier 1 old = $poids_fichier_1_old et poids fichier 2 old = $poids_fichier_2_old" | tee -a "$rep_zip""$fichier_log"
		
	# recherche des fichiers mp4 ou avi afin de les archiver en ajoutant à l'archive zip
	if [ "$vide_1" -gt "0" ] ; then
		find "$rep_1_source" -iname "*.mp4" -type f | zip -jut "$jour_archive" "$rep_zip"archive-$camera_1-du_"$jour".zip -@
	fi
	if [ "$vide_2" -gt "0" ] ; then
		find "$rep_2_source" -iname "*.avi" -type f | zip -jut "$jour_archive" "$rep_zip"archive-$camera_2-du_"$jour".zip -@ 
	fi
	
	# taille des 2 fichiers zip après archivage
	poids_fichier_1_new=0
	if [ -e "$rep_zip"archive-$camera_1-du_"$jour".zip ] ; then
		poids_fichier_1_new=`du -k "$rep_zip"archive-"$camera_1"-du_"$jour".zip | sed 's/\([0-9]*\)\(.*\)/\1/')`
	fi
	poids_fichier_2_new=0
	if [ -e "$rep_zip"archive-$camera_2-du_"$jour".zip ] ; then
		poids_fichier_2_new=`du -k "$rep_zip"archive-"$camera_2"-du_"$jour".zip | sed 's/\([0-9]*\)\(.*\)/\1/')`
	fi
	echo "poids fichier 1 new = $poids_fichier_1_new et poids fichier 2 new = $poids_fichier_2_new" | tee -a "$rep_zip$fichier_log"
	
	declenche="0" # declenche passe à "1" si des fchiers vidéos sont ajoutés à l'archive zip
	# comparaison avant et après archivage des fichiers zip si le fichier archive zip existe
	if [ -e "$rep_zip"archive-$camera_1-du_"$jour".zip ] ; then
		echo "Le fichier archive-$camera_1-du_"$jour".zip existe"  | tee -a "$rep_zip""$fichier_log"
		if [ "$poids_fichier_1_old" == "$poids_fichier_1_new" ] ; then
			echo "Aucune vidéo ajoutée à l'archive de la $camera_1 (archive-$camera_1-du_$jour.zip)" | tee -a "$rep_zip""$fichier_log"
		else
			echo "Des vidéos ont été ajoutées à l'archive de la $camera_1 (archive-$camera_1-du_$jour.zip)" | tee -a "$rep_zip""$fichier_log"
			declenche="1"
		fi
	else
		echo "Le fichier archive du $jour de la $camera_1 n'a pas été créé" | tee -a "$rep_zip""$fichier_log"
	fi
	
	if [ -e "$rep_zip"archive-$camera_2-du_"$jour".zip ] ; then
		echo "Le fichier archive-$camera_2-du_"$jour".zip existe" | tee -a "$rep_zip""$fichier_log"
		if [ "$poids_fichier_2_old" == "$poids_fichier_2_new" ] ; then
			echo "Aucune vidéo ajoutée à l'archive de la $camera_2 (archive-$camera_2-du_$jour.zip)" | tee -a "$rep_zip""$fichier_log"
		else
			echo "Des vidéos ont été ajoutées à l'archive de la $camera_2 (archive-$camera_2-du_$jour.zip)" | tee -a "$rep_zip""$fichier_log"
			declenche="1"
		fi
	else
		echo "Le fichier archive du $jour de la $camera_2 n'a pas été créé" | tee -a "$rep_zip""$fichier_log"
	fi
	
	if [ "$synchro" -gt "1" ] ; then
	# désactive la synchro avec Google Drive
		if [ "$declenche" == "1"  ] ; then 
			echo "Temporisation de 4 minutes afin de synchroniser avec Google Drive" | tee -a "$rep_zip""$fichier_log"
			sleep 210 # 3 minutes et 30 secondes
		fi # temporise 4 minutes avant de tuer la tâche de synchro avec Google Drive
	fi
	
	
else
	echo "Pas de fichiers mp4 ou avi du $jour dans le dossier Surveillance, aucun archivage ne sera effectué ce $jour à $heure" | tee -a "$rep_zip""$fichier_log"
	if [ -e "$rep_zip"archive-$camera_1-du_"$jour".zip ] ; then
		rm "$rep_zip"archive-$camera_1-du_"$jour".zip # efface le fichier zip
	fi
	if [ -e "$rep_zip"archive-$camera_2-du_"$jour".zip ] ; then
		rm "$rep_zip"archive-$camera_2-du_"$jour".zip # efface le fichier zip
	fi
fi 

####################### MISE EN PAUSE ou GELE ou TUE le processus de Cloud Sync #######################################################
# arrêt automatique de la synchronisation en fonction du parmètre intoduit $1=2 et synchro effective "R" pas en pause "P"
if [ "$synchro" -gt "1" ] && [ "$SCSW" ==  "R" ]; then
		echo "Il reste 30 secondes de temporisation afin de synchroniser avec Google Drive" | tee -a "$rep_zip""$fichier_log" 
		echo "Mise en pause de la synchronisation avec Google Drive gérée par ce script dans 30 secondes" | tee -a "$rep_zip""$fichier_log"
		sleep 30 # 30 secondes
		demarre_arrete_cloud_sync "pause" # via interface web de Cloud Synchro
		echo "Mise en pause de la synchronisation avec Google Drive effectuée" | tee -a "$rep_zip""$fichier_log"
fi

# gèle le processus s'il est actif -> statut 'T'
if [ "$synchro" == "3" ] && [ "$statclsync" != "processus absent" ]; then 
	kill "-19" "$PID_cloud_sync" # gèle le processus - statut "T" -> ne peut pas être relancé via l'interface graphique !!!
	echo "Le processus Cloud Sync est gelé - statut 'T' (non gérable via l'interface web !)" | tee -a "$rep_zip""$fichier_log"
fi

# tue le processus s'il est actif 
if [ "$synchro" == "4" ] && [ "$statclsync" != "processus absent" ]; then 
	kill "-9" "$PID_cloud_sync" # tue le processus -> ne peut pas être relancé via l'interface graphique !!!
	echo "Le processus Cloud Sync est tué (non gérable via l'interface web !)" | tee -a "$rep_zip""$fichier_log"
fi
########################################################################################################################################
# supprime les cookies générés par ce script et présents dans le dossier /tmp
rm /tmp/syno-cookies-*.txt

exec 2>&6 6>&- # fin de la redirection vers le fichier erreur # ligne à commenter si on veut les erreurs à l'écran de la console

exit 0

#######################################################################################################################################
# nom du script = video_rsync.sh admet 3 paramètres séparés par 1 caractère espace
# 1er paramètre - 0           - ne gère pas la synchronisation avec Google Drive
#               - 1           - démarre la synchronisation avec Google Drive si elle ne l'est pas en concordance avec l'interface web
#               - 2           - met en pause la synchronisation avec Google Drive après 30 secondes ou 4 minutes
#               - 3			  - gèle le processus de synchronisation (processus à T - ingérable via l'interface web !)
#               - 4           - tue le processus de synchronisation (ingérable via l'interface web !)
# 2me paramètre - 0           - ne gère pas le démarrage des 2 caméras
#               - 1           - démarre les 2 caméras en surveillance si ce n'était pas le cas
#               - 2           - arrête les 2 caméras en surveillance si ce n'était pas le cas
# 3me paramètre - indique le nombre de minutes avant le démarrage des caméras si celles-ci sont gérées par ce script
# Attention de ne pas dépasser 4 minutes si la tâche planifiée démarre de 5 en 5 minutes !!!!
# lignes de commande possibles dans la console ssh (Putty.exe) : sh video_rsync.sh 0 0 (ou sans paramètre)
#															   : sh video_rsync.sh 1 0 (ou sans le 0)
#															   : sh video_rsync.sh 1 1 3(le mieux pour démarrer !)
#															   : sh video_rsync.sh 2 0 (ou sans le 0)
#															   : sh video_rsync.sh 2 1
#															   : sh video_rsync.sh 2 2 (le mieux pour arrêter) 

 

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour les propriétaires d'une caméra Foscam FI8918W, un petit script bash qui permet d'activer ou de désactiver l'alarme de mouvement avec prise de photos envoyées par FTP.

Il est possible de fusionner ce script avec le précédent de façon à gérer 2 caméras avec Surveillance Station + 1 caméra avec photos prises sur mouvement et uploadées par FTP.

#!/bin/sh
# script destiné à une caméra FOSCAM FI8918W - activation de la prise de photo en cas de mouvement ou désactivaton
# les photos sont uploadées vers FTP
# Attention ! une adaptation du script est nécessaire pour d'autres modèles de caméras
cd "$PWD/" # se place dans le dossier d'emplacement du script
SERVER="xxx.xxx.xxx.xxx:xxxx" # à introduire adresse IP:PORT exemple : 192.168.0.21:7777
USER="xxxxxxxxx" # à introduire
PASS="xxxxxxxxx" # à introduire
camera="xxxxxxxxxxxx" # à introduire - nom de la caméra
 
statuts_cameras_photos() {
# statuts de l'alarme cameras photos ?
	statut=$(wget -qO - "http://${SERVER}/get_params.cgi?user=${USER}&pwd=${PASS}")
	stat="est activée"
	if echo "$statut" | grep 'var alarm_motion_armed=0' >/dev/null 2>&1 ; then stat="n'est pas activée" ; fi
}

demarre_cameras_photo() {
# démarre alarme photo sur caméra
# la sensibilité est réglée sur 5 - l'intervalle entre 2 photos est de 10 s - les photos seront uploadées par ftp
	wget -qO- 2> /dev/null "http://${SERVER}/set_alarm.cgi?user=${USER}&pwd=${PASS}&next_url=alarm.htm&motion_armed=1&motion_sensitivity=5&motion_compensation=0&sounddetect_armed=0&sounddetect_sensitivity=0&iolinkage=0&mail=0&upload_interval=10&schedule_enable=0&schedule_sun_0=0&schedule_sun_1=0&schedule_sun_2=0&schedule_mon_0=0&schedule_mon_1=0&schedule_mon_2=0&schedule_tue_0=0&schedule_tue_1=0&schedule_tue_2=0&schedule_wed_0=0&schedule_wed_1=0&schedule_wed_2=0&schedule_thu_0=0&schedule_thu_1=0&schedule_thu_2=0&schedule_fri_0=0&schedule_fri_1=0&schedule_fri_2=0&schedule_sat_0=0&schedule_sat_1=0&schedule_sat_2=0" > /dev/null 2>&1
}

arrete_cameras_photo(){
# arrête alarme photo sur caméra 
# remet tous les paramètres à 0
	wget -qO- 2> /dev/null "http://${SERVER}/set_alarm.cgi?user=${USER}&pwd=${PASS}&next_url=alarm.htm&motion_armed=0&motion_sensitivity=0&motion_compensation=0&sounddetect_armed=0&sounddetect_sensitivity=0&iolinkage=0&mail=0&upload_interval=10&schedule_enable=0&schedule_sun_0=0&schedule_sun_1=0&schedule_sun_2=0&schedule_mon_0=0&schedule_mon_1=0&schedule_mon_2=0&schedule_tue_0=0&schedule_tue_1=0&schedule_tue_2=0&schedule_wed_0=0&schedule_wed_1=0&schedule_wed_2=0&schedule_thu_0=0&schedule_thu_1=0&schedule_thu_2=0&schedule_fri_0=0&schedule_fri_1=0&schedule_fri_2=0&schedule_sat_0=0&schedule_sat_1=0&schedule_sat_2=0" > /dev/null 2>&1
}

####################### gestion de l'alarme sur mouvement d'une caméra -> photo envoyée par FTP ######################

statuts_cameras_photos # vérifie si alarme est activée ou non
echo "Statut caméra : l'alarme photo de la $camera $stat"

########## en fonction du paramètre, active l'alarme ou la désactive 
########## $1=1 -> active alarme si pas activée
if [ "$1" = "1" ] && [ "$stat" = "n'est pas activée" ] ; then
	demarre_cameras_photo
	echo "Action -> l'alarme photo de la $camera est activée"
fi
######### $1=2 -> désactive alarme si pas désactivé
if [ "$1" = "2" ] && [ "$stat" = "est activée" ] ; then
	arrete_cameras_photo
	echo "Action -> l'alarme photo de la $camera est arrêtée"
fi

#####################################################################################################################
# nom du script : check_foscam.sh
# admet 1 paramètre 
# 1 - pour activer l'alarme
# 2 - pour désactiver l'alarme
# exemple : sh check_foscam.sh 1
# exemple : sh check_foscam.sh 2
# exemple : sh check_foscam.sh (sans paramètre) -> donne simplement le statut de l'alarme

 

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous, moi aussi j'ai été confronté à ce problème que j'ai résolu un peu par hasard. Cloud sync refuse de synchroniser le dossier surveillance qui protégé par le DSM.

Le dossier surveillance étant créé, il faut faire un reset et réinstaller le DSM. Avant d'installer Surveillance station, installez Cloud Sync et synchronisez le dossier Surveillance qui n'est pas bloqué par le DSM puisque surveillance station n'est pas installé, et ensuite installez le.

Et voilà le tour est joué, je sais ce n'est très élégant mais ça marche.

J'avais demandé a Synology s'il était possible de le faire, ils m'ont répondu que le dossier était protégé , "point".

Bonjour JMS8591,

Je souhaite suivre votre recommandation pour synchroniser aussi mon dossier "surveillance".

Quand vous dites "il faut faire un reset et réinstaller le DSM", pouvez-vous m'indiquer les détails de la procédure vous avez mise en œuvre ?

+ ceci nécessite-t-il l'effacement de toutes les données sauvegardées déjà présentes?

Merci d'avance,

Modifié par frogdivision
Lien vers le commentaire
Partager sur d’autres sites

2 Octobre 2015

J'ai enfin pu effectuer une synchronisation de mon dossier "surveillance" avec Google Drive, en trouvant une bonne solution -qui m'a demandé pas mal de temps- (source ICI) et en exécutant la manip' suivante:

1. Utilisez les logiciels putty ou kitty

2. login root + mot de passe utilisé pour se connecter habituellement à votre NAS

3. Ouvrir surveillance station et supprimer tous les enregistrements existants

4. Dans Putty taper  cd /volume1/homes/votredossier/CloudStation/ 

5. Créez un nouveau dossier (ici nommé "camsurv") avec la commande mkdir camsurv

6. cd /usr/syno/etc.defaults/rc.d/

7. vi S99mount.sh

8. Entrez les instructions suivantes pour créer le script qui permettra de copier les vidéos de la caméra de surveillance vers le nouveau répertoire (via un copier-coller) en adaptant au préalable en fonction du nom/chemin de vos répertoires et en n'oubliant pas les " " notamment si vos répertoires comportent des espaces (j'ai mis du temps à trouver ...) :

case $1 in
start)
/bin/mount --bind "/volume1/homes/votredossier/CloudStation/camsurv/" "/volume1/surveillance/camsurv"
;;
stop)
/bin/umount "/volume1/homes/votredossier/CloudStation/camsurv/"
;;
*)
echo "Usages: $0 [start|stop]"
;;
esac

9. Pour enregistrer le script, 1) utilisez la touche ESC/ECHAP puis 2) tapez :wq    (avec les deux points) puis 'Entrée'

10. chmod 755 /usr/syno/etc.defaults/rc.d/S99mount.sh


11. Testez le fonctionnement du script en écrivant ./S99mount.sh start


12. Maintenant faites qq mouvements devant votre camera pour déclencher un enregistrement


13. Vous devriez voir que les enregistrements se copient automatiquement dans le nouveau dossier /volume1/homes/votredossier/CloudStation/camsurv

14. Vous pouvez ensuite paramétrer Cloud Sync pour se synchroniser avec ce nouveau répertoire qui n'est pas protégé par le système

15. CloudSync récupère chaque nouveau fichier vidéo rapidement et le synchronise avec Google Drive ou tout autre site cloud.

 

N'étant ni un spécialiste de Linux ou d' Unix (je suis béotien), je regrette de ne pouvoir vous aider davantage.

Frogdivision

 

Modifié par frogdivision
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'avais déjà testé cette solution (voir un de mes posts précédents du 21 août 2015) mais ce n'était pas concluant.
Donc, pouvez-vous confirmer que la réception dans Google Drive fonctionne correctement car dans mon cas, j'obtenais des vidéos corrompues. (voir le post pour plus de détails).
Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

@Aladec,

La réception dans Google Drive fonctionne correctement ( = pas de fichier corrompu) mais la synchronisation ne fonctionne qu'une fois.

Ensuite, Cloud Sync indique que le dossier est à jour alors que de nouvelles vidéos s'ajoutent mais le transfert ne s'opère plus.

Je vais essayer d'en trouver la cause et faire un test en mettant les vidéos copiées à un autre endroit.

Un test avec Dropbox devrait aussi me permettre de comparer...

Modifié par frogdivision
Lien vers le commentaire
Partager sur d’autres sites

Je viens de vérifier, la synchro fonctionne sans rien modifier du script que j'ai détaillé avec Dropbox!

J'ai juste supprimé la synchro avec Google Drive et paramétré une nouvelle synchro avec Dropbox dans Cloud Sync.

Tout fonctionne, les vidéos ne sont pas corrompues et toute nouvelle vidéo ajoutée dans le répertoire du jour s'ajoute bien sur le site distant.

C'est bien dommage que ceci ne fonctionne pas sous Drive car Dropbox (en version gratuite) ne permet que 2Go de stockage alors que Google Drive propose 15 Go, ce qui est tout à fait adapté avec l'idée d'une sauvegarde distante d'une vidéo de surveillance.

Le problème semble donc davantage lié à la combinaison Cloud Sync + Google Drive qu'à une erreur au niveau de script, non ?

 

En ce qui concerne vos scripts ci-dessus, je les ai bien vus mais ne connaissant rien à Linux (c'est la première fois que j'utilise Kitty), cela m'a paru un peu complexe par rapport à ce que j'ai essayé de "bidouiller" ...

Modifié par frogdivision
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Vous arrivez donc aux mêmes constatations. La technique de cloner le répertoire "surveillance" et de synchroniser avec Google Drive ou One Drive ne fonctionne pas correctement par contre cela fonctionne avec Dropbox. Le problème alors est que Dropbox n'offre que 2 Go gratuits par rapport à 15 Go sur Google Drive. A rappeler que j'avais utilisé une application Dropbox (Synobox) qui permettait de synchroniser directement le dossier "surveillance"  avec la Dropbox (sans cloner). Il faut donc faire un choix. Soit utiliser Dropbox avec seulement 2 Go et une solution technique simple de mise en œuvre, soit utiliser Google Drive avec une solution plus compliquée de mise en œuvre.

Pour ne pas compliquer trop, j'utilise Putty sous Win10. Vous pouvez tester un des scripts au début de ce post qui utilise rsync (publié le 2 septembre) afin de vous faire la main avec Putty ensuite lancer une tâche planifiée en utilisant le planificateur de tâches du Syno.

J'utilise depuis 1 mois le script qui me permet de réaliser des archives zip (un peu plus compliqué) et je trouve que cette technique est une bonne solution. J'ai amélioré le script afin de piloter la 3me caméra qui n'est pas gérée par Surveillance Station. A noter qu'avec les améliorations, lors d'un arrêt de la surveillance, les 3 caméras s'orientent maintenant vers des zones de vues blanches (les plafonds) et que lors de la reprise de surveillance, elles se repositionnent vers les zones définies.

Vous disposez de combien de caméras et quelle est leur marque ?

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

Bonjour ,

Oui effectivement, Dropbox, ce n'est pas terrible. Je vais essayer votre solution car Google Drive offre un large espace de stockage.

En revanche, est-il possible d'uploader directement les fichiers vidéo (c'est du mp4) sans les zipper, car Drive permet de visualiser la première image de la vidéo, ce qui pratique pour sélectionner des fichiers, d'autant plus que les miens sont horodatés?

En ce qui concerne la caméra, j'en ai une, il s'agit d'une Samsung SNV-7080. Elle filme tout le temps, et enregistre dès qu'une alerte survient.

Comme je n'y connais rien, j'espère pouvoir m'en sortir avec vos scripts ... Heureusement que vous y avez mis des explications ;)

 

=> A propos, est-il possible de créer votre script sans passer par putty, en utilisant le planificateur de taches, puis créer, puis script défini par l'utilisateur?

J'en utilise un qui me permet d'éteindre les lumières/voyants de mon NAS.

Merci

 

 

Modifié par frogdivision
Lien vers le commentaire
Partager sur d’autres sites

Ré bonjour, 

Il suffit d'utiliser le petit script utilisant rsync .

Copier/coller les lignes du script dans un éditeur de texte comme notepad++.

Enregistrer le script dans un répertoire du synology (video_rsync.sh).  Vérifier avec putty si le script fonctionne correctement. Il y parfois des caractères spéciaux qui doivent être supprimés comme ^M et qui sont responsables du non fonctionnement. Si c'est le cas, via putty,  ouvrir le script dans l'éditeur de texte vi et supprimer ces caractères et enregistrer. On peut alors lancer le script via le planificateur de tâches du synology,  en utilisant script créé par l'utilisateur. Il faut indiquer le chemin absolu vers le script (/volume1/emplacementscript/video_rsync.sh ) 

Lien vers le commentaire
Partager sur d’autres sites

Re re bonjour,

Ok parfait, bonne idée d'éteindre les diodes du Nas, on pourrait le faire lorsque les caméras sont en surveillance et allumer lorsque la surveillance est terminée.

Les codes sont d'après mes recherches : pour éteindre echo 67B > /dev/ttyS1 et pour allumer  echo 58A > /dev/ttyS1
Pouvez-vous confirmer ? Je ne sais pas tester car je suis actuellement en déplacement.

En ce qui concerne la marque des caméras, on ne boxe pas dans la même catégorie ! (j'ai 3 Foscam ...)
Je suppose que le format vidéo d'enregistrement est du mp4 ?

Modifié par aladec
Lien vers le commentaire
Partager sur d’autres sites

Oui c'est ça, pour éteindre il faut programmer echo 67B > /dev/ttyS1 . Je l'ai paramétré avec le planificateur de tâche pour se lancer une fois par jour.

Concernant ma caméra, elle enregistre bien en mp4. La qualité de l'image est en tip top; elle est fixée un peu en dessous de ma gouttière, et surveille le devant de la maison d'une hauteur d'environ 6 mètres du sol. La nuit, je vois très très bien. Je bénéficie de l'éclairage d'un lampadaire à proximité.

 

Sinon, la synchro sur Google Drive s'est déroulée parfaitement au début, mais ne s'effectue plus correctement: elle reste de manière permanente avec l'icone bleue (synchro en cours). Lorsque je pointe mon curseur sur "fichiers modifiés récemment", je vois que le système essaye d'envoyer des fichiers (téléchargement en cours, écrit en grisé), mais aucun % n'apparait montrant la vitesse d'upload.

Les nouveaux fichiers n'apparaissent pas sur Drive.

 

La tâche est programmée toutes les 5 mns et Cloud sync toutes les 30 secondes en bidirectionnel (j'ai essayé en upload seulement, mais cela ne change rien).

 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.