Aşağıdaki kodları yedek.py olarak isimlendirip gerekli yerleri doldurup sunucunuza atın.
SSH ile bağlanıp aşağıdaki komutu yazdığınızda 24 saatte bir defa arka planda siteniz ve veritabanınız yedeklenip sitenizin ana dizinine atılır. Ayrıca istenen mail adresine de dosyanın adresi link olarak atılır. Hosting firmalarının işine yarayabileceğini düşünüyorum.
Çalıştırma kodu
nohup python yedek.py &Kodlar:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import smtplib
import random
import string
import time
siteanadizini="buraya sitenizin ana dizini gelecek" #örnek tırnak içinde /home/site/public_html
dbismi="buraya db isminiz gelecek" #örnek tırnak içinde site_wp
smtphost="buraya smtp bağlantı hostunuz gelecek" #örnek tırnak içinde smtp.site.com
smtpport="buraya smtp portunuz gelecek" #örnek 465 tırnak kullanmayın
smtplogin="buraya mail adresiniz gelecek" #örnek tırnak içinde info@site.com
smtppass="buraya smtp şifreniz gelecek" #örnek tırnak içinde 123456
alicimail="mailin gitmesini istediğiniz mail adresi" #örnek tırnak içinde alici@mail.com
siteadres="sitenizin adresi gelecek" #örnek tırnak içinde https://google.com
dosya="1" #değiştirmenize gerek yok
try:
while True:
os.chdir(siteanadizini)
silkomut2="rm "+dosya
os.system(silkomut2)
letters = string.ascii_lowercase
dbrand1= ''.join(random.choice(letters) for i in range(10))
dbrand=dbrand1+".sql"
dbkomut="mysqldump "+dbismi+" > db.sql"
os.popen(dbkomut)
yedekkomutu="zip "+dbrand1+".zip .* *"
os.system(yedekkomutu)
silkomut="rm db.sql"
os.system(silkomut)
server = smtplib.SMTP_SSL(smtphost, smtport)
server.login(smtplogin, smtppass)
server.sendmail(
smtplogin,
alicimail,
"Subject: Gunluk yedek\n\n Yedeginiz "siteadres+"/"+dbrand1+".zip adresindedir.")
server.quit()
time.sleep(86400)
dosya=dbrand1+".zip"
except KeyboardInterrupt:
print('interrupted!')smtplib hatası yaşarsanız bir kere pip install smtplib komutunu ssh ile çalıştırmayı deneyebilirsiniz.