2017-09-10 3 views
0

J'ai activé les options de synchronisation sur mon lecteur NAS. Chaque heure, le contenu du disque NAS est synchronisé avec mon disque google. Est-il possible pour google drive d'envoyer un email quand un fichier n'apparaît pas un jour donné?Google Drive - envoyer un e-mail lorsque le fichier ne sera pas synchronisé

Je suis intéressé par un script qui va vérifier - si aucun fichier n'apparaît dans les 24 heures - il envoie un email.

ou

Il y a 24 fichiers téléchargés par jour sur Google Drive. J'aurais besoin d'un script qui enverra un email si ces fichiers sont moins.

ou

Si aucun fichier téléchargé dans les 2 heures - envoyer un e-mail.

La meilleure option serait la dernière version, car je pouvais garder une trace de l'état du disque google. Les fichiers sur google drive se trouvent dans le dossier "backup database".

Répondre

0

Si je comprends bien ce que vous demandez est:

  1. requête pour le fichier sur un dossier dans Google Drive
  2. vérifier la date de création de tous les fichiers
  3. si le fichier le plus récent a été téléchargé plus Il ya plus de X heures Envoyer un email

Je pense que vous pouvez tout faire avec Google App script. Vous devez créer un nouveau fichier script dans votre compte Drive et y ajouter cette fonction.

function isBackuped() { 
    var delay_h = 0; // or 2 or 24 
    var delay_m = 70; 
    var current = new Date(); 
    current.setTime(current.getTime() - (delay_h * 60 * 60 + delay_m * 60) * 1000); 

    var recent = false; 

    var folders = DriveApp.getFoldersByName("backup database"); 
    while (folders.hasNext()) { 
    var backup_folder = folders.next(); 

    var files = backup_folder.getFiles() 
    while (files.hasNext()) { 
     var backup = files.next(); 
     var created = backup.getDateCreated(); 
     if (created > current) 
     recent |= true; 
    } 
    } 

    if (!recent) { 
    GmailApp.sendEmail(
     "[email protected]", 
     "Mail Subject: Backup issue", 
     "Mail Body: There is no recent upload!"); 
    } 
} 

Ensuite, vous devez créer un déclencheur qui exécute la fonction automatiquement toutes les X heures: cliquez sur Modifier> Déclencheurs du projet actuel et sur le lien, et réglez « Aucun déclencheur configuré Cliquez ici pour ajouter un maintenant. » un déclencheur pour exécuter isBackuped basé sur le temps toutes les X heures.

Avertissement: Vous devez autoriser l'accès à ce script pour accéder à votre compte Drive et à votre compte Gmail. Il vous sera demandé la première fois que vous exécutez la fonction, alors lancez-la au moins une fois en utilisant le bouton de lecture de la barre d'instruments.

+0

Vous me comprenez bien. Je suis dans la phase de test du script. Vous informera si tout fonctionnera correctement. Question: Pouvez-vous changer la différence horaire dans le script (dans ce cas, il est de 2 heures), différence par minute - Je pense ici environ 70 minutes – mlik

+0

Oui, vérifiez l'édition. –

+0

Tout fonctionne selon ma demande. Je vous remercie. – mlik