» »

Spremljanje mape na serverju ~ SMS/Email obvestilo

Spremljanje mape na serverju ~ SMS/Email obvestilo

guano ::

v tujini imam en linux vps na katerega se neprestano nalagajo fajli. Fajli se nalagajo v specifičen folder na serverju: /uploads/.

Rad bi dobil na telefon ali email obvestilo kadar pride do spremembe v folderju. Zdaj moram vedno osvežit folder da vidim kdaj kdo kaj naloži.

Kako se najlažje lotiti te zadeve? Ali obstajajo kakšne že narejene skripte ki to omogočajo?

strawman ::

Problem je dovolj preprost, da ti ga reši ChatGPT.
Bash skripta, ki teče kot Cronjob vsako minuto, pogleda če je timestamp datoteke v zadnjem časovnem intervalu preko 'ls -lt' ali kaj podobnega in pošlje email preko npr. Googlovega SMTP strežnika na tvoj email.

b3D_950 ::

Mailov ne boš kar tako na izi pošiljal preko Googlovih serverjev iz bash skripte.

https://www.kjctech.net/how-to-monitor-...
https://www.isdecisions.com/products/fi...
Zdaj ko je mir, jemo samo krompir.

strawman ::

Google omogoča 500 mailov na dan za zastonjske račune preko njihovega SMTP serverja. Sam uporabljam to za razne notification skripte že več let.

b3D_950 ::

Včasih je bila opcija Dostop za manj varne aplikacije, ampak to ni več na voljo.
https://support.google.com/accounts/ans...
https://wpmailsmtp.com/gmail-less-secur...
Zdaj ko je mir, jemo samo krompir.

WizzardOfOZ ::

Če lahko samo 500 mailov na dan pošlješ preko googla, potem pa enkrat na 3 minute preveriš, če je timestamp mape časovno krajši od zadnjih treh minut, pa pošlješ mail, če je sprememba.
Pri enem mailu na 3 minute jih bo manj kot 500 na dan.
Milčinski je napisal butalce kot prispodobo in ne kot priročnik!!!
Svuda u svijetu ima budala ali je izgleda kod nas centrala!!!

guano ::

Ok sem si naredil skripto ampak zdaj komaj ugotovil da je google ukinil less sucure apps in mi ne pošilja emaila.

strawman ::

Dokumentacija.
Dostop iz less secure apps si lahko vklopiš na računu. Zgleda so limit tudi povečai na 2000 mailov/dan. Jaz jih ponavadi sicer porabim nekih 5.
So pa dodali v zadnjem letu zahtevo da mailu dodaš message-id, zaradi česar mi je obveščanje vmes crknilo. Ni pa nobene specifike za vsebino, samo prisoten mora bit.
V Pythonu ga zgeneriraš npr.
message["Message-Id"] = make_msgid()

guano ::

hvala ti strawman sem si uredil in zdaj deluje. namesto gesla od mojega maila sem uporabil geslo, ki sem jo generiral v "App passwords" na https://myaccount.google.com/apppasswor... .

import pysftp
import yagmail
import hashlib
import time

# Connect to SFTP server without hostkeys
cnopts = pysftp.CnOpts()
cnopts.hostkeys = None
srv = pysftp.Connection(host='yourhostname', username='youruser', password='yourpass', cnopts=cnopts)

# Set the folder path you want to monitor
folder_path = '/path-to-folder/'

# Hash of the current folder contents
folder_hash = hashlib.md5(bytes(str(srv.listdir(folder_path)), 'utf-8')).hexdigest()
# Connect to the email server
yag = yagmail.SMTP('yourusername@gmail.com', 'yourpassword')

while True:
    # Hash of the current folder contents
    new_folder_hash = hashlib.md5(",".join(srv.listdir(folder_path)).encode()).hexdigest()

    # Check if the folder contents have changed
    if new_folder_hash != folder_hash:
        # Send email notification
        yag.send('recipient@example.com', 'SFTP Folder Changed', 'The contents of the folder have changed')
        folder_hash = new_folder_hash

    time.sleep(60)

# Close SFTP connection
srv.close()


skripto je naredil ChatGPT z vprašanjem: Write me a Python pysftp Script that connects to a SFTP server without hostkeys and periodically checks for changes in specific Folder and Notifies me via Email if Change has been made using Gmail SMTP without Less secure Apps enabled. verjetno pomanlkjivo z luknjami a za mene je to vse kar rabim. zdaj še bom dodal timestampe itd


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
!

Poštni odjemalci (strani: 1 2 3 4 5 6 7 8 )

Oddelek: Programska oprema
375278952 (23883) Matko
»

Postavitev mySQL

Oddelek: Programiranje
92261 (1839) M01O
»

Batch skripta za brisanje map, starejših od X dni

Oddelek: Operacijski sistemi
5824 (759) krneki0001
»

Android ICS: Move apps to SD card in menjava SD kartice

Oddelek: Mobilne tehnologije
6865 (842) Hayabusa
»

[Ubuntu server] mail poslan iz serverja zazna kot vsiljeno pošto (strani: 1 2 )

Oddelek: Omrežja in internet
799257 (8227) shorvat

Več podobnih tem