有没大佬能出个傻瓜式适合小白的vps备份小系统呢!!!

刚才看到有个大佬的网站数据没了,心情可以理解。坛子这么多大佬,出个傻瓜式的 win&liunx 一键备份

可以实现每日  定时备份,备份到网盘  邮箱   ftp  oss


有没大佬搞一个呀

四川网友:最傻瓜式的宝塔不是早就有了吗?
天津网友:win用网盘客户端同步文件夹就好了呀
香港网友: 如果网站没有安装宝塔呢、、
陕西网友:
那就装一个
重庆网友: 宝塔台臃肿 浪费内存
吉林网友: 百度网盘吗?数据库不能直接备份吧
宁夏网友:https://github/tencentyun/cosfs/releases 挂载cos 定时任务 打包备份
安徽网友: 谢谢,好用吗
浙江网友:老老实实用虚拟主机嘛 买个带jetbackup的 全自动异地备份 啥也不用操心 技术不到家用啥子vps嘛

河北网友:老老实实用虚拟主机嘛 买个带jetbackup的 全自动异地备份 啥也不用操心 技术不到家用啥子vps嘛

广东网友:Linux可以用秋水逸冰的备份脚本
吉林网友: win有没推荐的

云南网友:自己写啊,我是自己写了个Python的脚本,直接备份到良心云的COS里
广西网友: 还没这个能力自己写
上海网友:rclone 备份到各个平台
我备份到google网盘
湖南网友: 额。。。那没办法,我的是对应FreeBSD系统的,Linux下没测试,你可以看看

  1. #!/usr/local/bin/python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. import sys
  5. import commands
  6. import tarfile

  7. from datetime import date,datetime,timedelta

  8. from qcloud_cos import CosS3Client
  9. from qcloud_cos import CosConfig

  10. # Qcloud COS
  11. SecretID = u'xxx'
  12. SecretKey = u'xxx'
  13. Bucket = u'xxx'
  14. Region = 'ap-chengdu'

  15. # Backup
  16. ToDay = date.today()
  17. OldDay = date.today() - timedelta(5)
  18. BackDir = '/data/backup'
  19. LogFile = BackDir + '/backup.log'
  20. DBUser = 'root'
  21. DBPass = 'xxx'
  22. SQLFile = 'DB_' + str(ToDay.year) + str(ToDay.month) + str(ToDay.day) + '.sql'
  23. DBFile = ('/DB_' + str(ToDay.year) + str(ToDay.month) + str(ToDay.day) + '.tgz').decode('utf-8')
  24. DBOld = 'DB_' + str(OldDay.year) + str(OldDay.month) + str(OldDay.day) + '.tgz'
  25. WebDir = '/data/www'
  26. WebFile = ('/Web_' + str(ToDay.year) + str(ToDay.month) + str(ToDay.day) + '.tgz').decode('utf-8')
  27. WebOld = 'Web_' + str(OldDay.year) + str(OldDay.month) + str(OldDay.day) + '.tgz'

  28. print('Checking backup directory...')
  29. try:
  30.     if not os.path.isdir(BackDir):
  31.         os.mkdir(BackDir)
  32. except IOError, err:
  33.     print err
  34.     sys.exit()

  35. print('Compress your website directory...')
  36. try:
  37.     tar = tarfile.open(BackDir + WebFile, 'w:gz')
  38.     pre_len = len(os.path.dirname(WebDir))
  39.     for root, dir, files in os.walk(WebDir):
  40.         for file in files:
  41.             fullpath = os.path.join(root, file)
  42.             arcname = fullpath[pre_len:].strip(os.path.sep)
  43.             tar.add(fullpath, arcname)
  44.     tar.close()
  45. except IOError, err:
  46.     print err
  47.     sys.exit()

  48. print('Export your databases...')
  49. try:
  50.     cmd = '/usr/local/bin/mysqldump -hxxx.xxx.xxx.xxx -u' + DBUser + ' -p' + DBPass + ' usebsd > ' + BackDir + '/' + SQLFile
  51.     h = commands.getstatusoutput(cmd)
  52.     if h[0] != 0:
  53.         print('Export failed.')
  54.         sys.exit()
  55.     else:
  56.         tar = tarfile.open(BackDir + '/' + DBFile, 'w:gz')
  57.         tar.add(BackDir + '/' + SQLFile, SQLFile)
  58.         tar.close()
  59.         os.remove(BackDir + '/' + SQLFile)
  60. except IOError, error:
  61.     print error
  62.     sys.exit()

  63. print('Prepare upload your backup data to qcloud...')
  64. config = CosConfig(Secret_id=SecretID, Secret_key=SecretKey, Region=Region, Token='')
  65. client = CosS3Client(config)
  66. response = client.upload_file(Bucket=Bucket, LocalFilePath=BackDir + DBFile, Key=DBFile, PartSize=10, MAXThread=10)
  67. print 'Databases file %s upload to bucket %s : %s' % (DBFile, Bucket, response['ETag'])

  68. response = client.upload_file(Bucket=Bucket, LocalFilePath=BackDir + WebFile, Key=WebFile, PartSize=10, MAXThread=10)
  69. print 'Website file %s upload to bucket %s : %s' % (WebFile, Bucket, response['ETag'])

  70. print('Delete old backup data...')
  71. try:
  72.     if os.path.isfile(BackDir + '/' + DBOld):
  73.         os.remove(BackDir + '/' + DBOld)

  74.     if os.path.isfile(BackDir + '/' + WebOld):
  75.         os.remove(BackDir + '/' + WebOld)

  76.     response = client.list_objects(Bucket=Bucket)
  77.    
  78.     for item in response['Contents']:
  79.         if item['Key'] == DBOld or item['Key'] == WebOld:
  80.             client.delete_object(Bucket=Bucket, Key=item['Key'])
  81. except IOError, err:
  82.     print err
  83.     sys.exit()

  84. print 'Backup finished...'
复制代码

贵州网友: 推荐个win的
福建网友: win也可以用呀。。。
贵州网友: 给个教程呗
澳门网友: 给个教程呗
西藏网友:oneinstack好像自带备份满足你的要求了
青海网友: 感觉不是很好用
澳门网友: 可视化面板里宝塔占用内存少吧?
建站还差宝塔那几十m内存?
福建网友: 小白的也只有宝塔了,想简单用脚本+cron ,但是不小白啊
西藏网友:github/Ewigevemicca/AICM 不嫌弃可以试试
湖南网友: 好像不支持win
未经允许不得转载:开心小站长 » 有没大佬能出个傻瓜式适合小白的vps备份小系统呢!!!

相关推荐

留言与评论(共有 0 条评论)
   
验证码: