Forum » Programiranje » 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?
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.
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...
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...
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.
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!!!
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.
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... .
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
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
! | Poštni odjemalci (strani: 1 2 3 4 5 6 7 8 )Oddelek: Programska oprema | 278954 (23885) | Matko |
» | Postavitev mySQLOddelek: Programiranje | 2261 (1839) | M01O |
» | Batch skripta za brisanje map, starejših od X dniOddelek: Operacijski sistemi | 824 (759) | krneki0001 |
» | Android ICS: Move apps to SD card in menjava SD karticeOddelek: Mobilne tehnologije | 865 (842) | Hayabusa |
» | [Ubuntu server] mail poslan iz serverja zazna kot vsiljeno pošto (strani: 1 2 )Oddelek: Omrežja in internet | 9257 (8227) | shorvat |