Users Online
· Members Online: 0
· Total Members: 229
· Newest Member: Zarfdrilhor
Forum Threads
Latest Articles
Articles Hierarchy
MSP360 CloudBerry Backup
MSP360 CloudBerry Backup
Here's a comprehensive overview of MSP360 / CloudBerry Backup and how it compares and integrates with our security platform.
MSP360 / CloudBerry Backup — Complete Overview
What It Is
MSP360 Managed Backup is a centralized, multi-platform backup solution for MSPs. It offers automated backups, compliance-ready security, white-labeling, and seamless integration with MSP360 RMM and PSA tools. With flexible pricing and vendor-neutral storage support for Amazon S3, Microsoft Azure, Wasabi, Backblaze B2, and more, it enhances data protection while optimizing costs. Acronis
CloudBerry Backup has been rebranded to MSP360 Backup. The platform originally built its reputation as a lightweight, storage-agnostic backup tool before evolving into a full MSP management suite. PeerSpot
Core Features
Backup Capabilities
MSP360 Backup for Windows supports all popular cloud storage providers and classes, including Amazon S3, Amazon S3 Glacier, Microsoft Azure, Google Cloud, Backblaze B2, Wasabi, various S3-compatible storage, and many others. It includes Forever Forward Incremental backup schedule, Grandfather-Father-Son (GFS) retention policy, backups to local drives and NAS-like storage devices, image-based backups, Microsoft SQL Server backups, Microsoft Exchange backups, Synthetic Full Backup for file, image-based, VMware, Hyper-V backups, Immutability (Object lock), Bare-metal recovery (recovery disks and USB drives), cloud backups (cloud-to-cloud and cloud-to-local), and Changed Block Tracking for image-based backups. SiliconANGLE
Security & Management
Key features include remote management and monitoring, white-labeling, 256-bit AES encryption, image-based backup, encryption and compression, ACL Editor, ransomware protection, and a disk capacity dashboard. Help Net Security
MSP & Multi-Tenant
MSP360 Managed Backup is a centralized, multi-tenant backup platform that helps service providers automate backup operations, manage multiple customers from a single web console, and protect workloads with flexible recovery options. With white-labeling, integration with MSP360 RMM and PSA capabilities, and vendor-neutral storage support for Amazon S3, Microsoft Azure, Wasabi, Backblaze B2, IDrive e2, and more, it helps MSPs improve data protection, reduce storage lock-in, and control backup costs. Acronis
Additional Products in the MSP360 Suite
The suite includes a cloud-to-cloud backup and recovery solution supporting all Microsoft 365/Google Workspace components, CloudBerry Drive for mounting and accessing cloud storage as a network drive supporting over 20 different cloud storage providers, and MSP360 Connect — a Windows software for remote control and desktop sharing. Acronis
Pricing
MSP360 offers a Free Backup tier covering Windows, macOS, and Linux backup with file-level backup. The paid tier starts at $99.50 per year for one user with backup for unlimited computers. Enterprise and MSP pricing is contact-based and scales per workload or per endpoint. Aufieroinformatica
What Users Say
Overall, MSP360 Backup provides a solid and flexible backup solution, particularly for environments that need control over storage destinations and cost. Its ability to integrate with multiple cloud providers and support a range of backup types makes it well-suited for small to mid-sized businesses and IT-managed environments. The platform performs reliably for routine backups, and the centralized management console is useful for overseeing multiple systems. Acronis
On the positive side, users love the ability to white-label the product so clients don't know where the software comes from, making it look like an in-house solution. Others describe it as a great product that scales, is fast, and easy to implement. Acronis
On the negative side, the web interface is described as difficult to navigate for finding backup history, restoring data, and managing licenses. The backup wizard has too many ways to misconfigure, with no easy way to clone configurations across multiple devices or sites. The shift from perpetual license to subscription model also increases long-term cost and reduces ownership flexibility. Acronis
MSP360 vs Acronis — Head to Head
| Dimension | MSP360 / CloudBerry | Acronis Cyber Protect Cloud |
|---|---|---|
| Primary purpose | Backup + cloud storage mgmt | Backup + AV + EDR + DLP |
| Built-in AV / EDR | ✗ None | ✓ AI-based EDR |
| Built-in DLP | ✗ None | ✓ Advanced DLP add-on |
| Storage flexibility | ✅ Best-in-class — 20+ providers | Good — Acronis Cloud + S3 |
| White-labeling | ✅ Full white-label for MSPs | Partial |
| M365 backup | ✓ Cloud-to-cloud module | ✓ Official API |
| Image-based backup | ✓ Yes | ✓ Yes |
| Ransomware protection | Basic — immutability + detection | Advanced — AI + auto rollback |
| RMM / PSA integration | ✓ Native MSP360 RMM + PSA | Third-party integrations |
| Pricing model | Per user / per endpoint | Per workload |
| Entry price | $99.50/yr (unlimited PCs) | Contact pricing |
| Agent count | 1 backup agent | 1 all-in-one agent |
| Security depth | Backup-only security | Full cyber protection |
| Best for | MSPs needing storage flexibility | Security-first environments |
How MSP360 Fits Into Our Security Platform
MSP360 is a pure backup and storage management play — it deliberately stays out of the security stack. This means it can work alongside our platform rather than replacing components of it:
Our Security Platform MSP360 Layer
───────────────────── ─────────────
usb_alerter.py ──────► Backup USB audit logs to S3/Azure
threat_response.py ──────► Backup threat DB + response logs
Squid access logs ──────► Archive to Wasabi/Backblaze (cheap)
Admin databases ──────► Daily image backup + SQL backup
Employee portal data ──────► Backed up with GFS retention
Windows endpoints ──────► Image-based bare-metal recovery
Linux servers ──────► File + image backup to any cloud
M365 email/files ──────► Cloud-to-cloud M365 backup module
Integration script — save as /opt/security-platform/scripts/msp360_backup_check.py:
#!/usr/bin/env python3
"""
MSP360 Backup Status Checker
Polls MSP360 API for backup job results and feeds into
our security platform dashboard and alerting
"""
import requests, json, sqlite3, os, smtplib
from datetime import datetime, timedelta
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# ── MSP360 API Config ─────────────────────────────────────────────────
MSP360_URL = "https://api.mspbackups.com"
MSP360_USER = "admin@company.com"
MSP360_PASS = "your_msp360_password"
PLATFORM_DB = "/var/lib/security-platform/db/backups.db"
SMTP_SERVER = "smtp.company.com"
SMTP_PORT = 587
SMTP_USER = "it-security@company.com"
SMTP_PASS = "your_smtp_pass"
IT_EMAIL = "it-security@company.com"
os.makedirs(os.path.dirname(PLATFORM_DB), exist_ok=True)
def get_token():
resp = requests.post(
f"{MSP360_URL}/api/Accounts/login",
json={"UserName": MSP360_USER, "Password": MSP360_PASS}
)
return resp.json().get("access_token","")
def get_backup_jobs(token):
headers = {"Authorization": f"Bearer {token}"}
resp = requests.get(
f"{MSP360_URL}/api/Computers",
headers=headers
)
return resp.json() if resp.status_code == 200 else []
def get_job_history(token, computer_id):
headers = {"Authorization": f"Bearer {token}"}
resp = requests.get(
f"{MSP360_URL}/api/Computers/{computer_id}/History",
headers=headers
)
return resp.json() if resp.status_code == 200 else []
def init_db():
conn = sqlite3.connect(PLATFORM_DB)
conn.execute("""
CREATE TABLE IF NOT EXISTS backup_jobs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
computer TEXT,
plan_name TEXT,
status TEXT,
started TEXT,
finished TEXT,
size_gb REAL,
error TEXT,
synced_at TEXT
)""")
conn.commit()
conn.close()
def save_jobs(jobs):
conn = sqlite3.connect(PLATFORM_DB)
now = datetime.now().isoformat()
for j in jobs:
conn.execute("""
INSERT INTO backup_jobs
(computer,plan_name,status,started,finished,size_gb,error,synced_at)
VALUES (?,?,?,?,?,?,?,?)
""", (
j.get("computer",""),
j.get("plan",""),
j.get("status",""),
j.get("started",""),
j.get("finished",""),
j.get("size_gb",0),
j.get("error",""),
now
))
conn.commit()
conn.close()
def alert_failed_backups(failed):
if not failed:
return
rows = "".join(f"""
<tr style='background:#3a1a1a'>
<td style='padding:8px;color:#e74c3c'>{j['computer']}</td>
<td style='padding:8px;color:#aaa'>{j['plan']}</td>
<td style='padding:8px;color:#e74c3c'>{j['status']}</td>
<td style='padding:8px;color:#888'>{j.get('error','')[:80]}</td>
</tr>""" for j in failed)
html = f"""
<div style="font-family:sans-serif;max-width:620px;margin:auto">
<div style="background:#c0392b;color:white;padding:16px 20px;
border-radius:8px 8px 0 0">
<h2 style="margin:0">⚠️ Backup Failures Detected — MSP360</h2>
</div>
<div style="background:#f9f9f9;padding:20px;border:1px solid #ddd">
<p>{len(failed)} backup job(s) failed in the last 24 hours.</p>
<table style="width:100%;border-collapse:collapse;
margin-top:14px;background:#1a1d27">
<tr style="background:#2c2f3e">
<th style="padding:8px;color:#aaa;text-align:left">Computer</th>
<th style="padding:8px;color:#aaa;text-align:left">Plan</th>
<th style="padding:8px;color:#aaa;text-align:left">Status</th>
<th style="padding:8px;color:#aaa;text-align:left">Error</th>
</tr>
{rows}
</table>
<p style="margin-top:16px;color:#999;font-size:0.85em">
Review in MSP360 console: https://console.mspbackups.com
</p>
</div>
</div>"""
try:
msg = MIMEMultipart("alternative")
msg["Subject"] = f"⚠️ {len(failed)} MSP360 Backup Failures — {datetime.now().strftime('%Y-%m-%d')}"
msg["From"] = SMTP_USER
msg["To"] = IT_EMAIL
msg.attach(MIMEText(html,"html"))
with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as s:
s.starttls()
s.login(SMTP_USER, SMTP_PASS)
s.sendmail(SMTP_USER, [IT_EMAIL], msg.as_string())
print(f"[EMAIL] Alert sent: {len(failed)} failures")
except Exception as e:
print(f"[EMAIL ERROR] {e}")
def run():
init_db()
print("[*] Checking MSP360 backup status...")
try:
token = get_token()
computers = get_backup_jobs(token)
all_jobs = []
failed = []
for computer in computers:
cid = computer.get("ComputerId","")
name = computer.get("ComputerName","")
hist = get_job_history(token, cid)
for job in hist[:5]: # last 5 jobs per machine
status = job.get("Status","")
entry = {
"computer": name,
"plan": job.get("PlanName",""),
"status": status,
"started": job.get("Started",""),
"finished": job.get("Finished",""),
"size_gb": round(job.get("DataSize",0)/1e9, 2),
"error": job.get("ErrorMessage",""),
}
all_jobs.append(entry)
if status in ("Failed","Error","Warning"):
failed.append(entry)
save_jobs(all_jobs)
alert_failed_backups(failed)
success = len(all_jobs) - len(failed)
print(f"[✔] Checked {len(computers)} machines")
print(f" Success: {success} Failed: {len(failed)}")
except Exception as e:
print(f"[ERROR] MSP360 check failed: {e}")
if __name__ == "__main__":
run()
Schedule it:
# Check backup status every 6 hours
echo "0 */6 * * * python3 /opt/security-platform/scripts/msp360_backup_check.py \
>> /var/log/security-platform/msp360.log 2>&1" | sudo crontab -
MSP360 Storage Cost Comparison
One of MSP360's biggest advantages is letting you bring your own storage — picking the cheapest provider rather than paying vendor lock-in rates:
| Storage Provider | $/TB/month | 10 TB/month | Notes |
|---|---|---|---|
| Backblaze B2 | $6 | $60 | Cheapest S3-compatible |
| Wasabi | $7 | $70 | No egress fees |
| IDrive e2 | $4 | $40 | Cheapest overall |
| Amazon S3 | $23 | $230 | Most features |
| Azure Blob | $18 | $180 | Good for Azure shops |
| Acronis Cloud | ~$40+ | $400+ | Bundled, less flexible |
| Google Cloud | $20 | $200 | Good lifecycle tiers |
MSP360 + Backblaze B2 / Wasabi is a very popular combination in the MSP community for dramatically cutting storage costs compared to bundled vendor clouds.
Deployment for Our Platform
# Linux agent install
wget https://download.msp360.com/latest/msp360-backup-linux.deb
sudo dpkg -i msp360-backup-linux.deb
# Register to MSP360 console
msp360backup --register \
--user admin@company.com \
--password your_password \
--computer-name $(hostname)
# Create backup plan for platform data
msp360backup --create-plan \
--name "Security Platform Data" \
--destination s3://your-bucket/backups \
--schedule daily \
--time 02:00 \
--retention 30 \
--encrypt --password your_backup_key \
--include /var/lib/security-platform \
--include /opt/security-platform/scripts \
--include /etc/squid \
--include /etc/nginx \
--include /var/log/security-platform
When to Choose MSP360 Over Acronis
| Scenario | Choose MSP360 | Choose Acronis |
|---|---|---|
| Pure backup, already have AV | ✅ | — |
| Need AV + DLP + backup in one | — | ✅ |
| Tight storage budget | ✅ (Backblaze B2) | — |
| MSP with white-label requirement | ✅ | Partial |
| Need automated ransomware rollback | — | ✅ |
| Already on AWS/Azure ecosystem | ✅ | Either |
| Security-first environment | — | ✅ |
| Small team, simple requirements | ✅ | Either |
| Need EDR / endpoint detection | — | ✅ |
Recommendation for Our Platform
MSP360 works best as a complementary layer in our security platform rather than a replacement for Acronis. The ideal combination is:
- MSP360 handles backup storage — leveraging cheap S3-compatible providers (Backblaze B2, Wasabi, IDrive e2) for platform data, logs, and reports
- Acronis handles endpoint security — AV, EDR, DLP, and endpoint backup with automated threat response
If budget is constrained and you already have separate AV/EDR coverage (e.g. Microsoft Defender, CrowdStrike), then MSP360 alone is a strong, cost-effective backup solution — especially with its vendor-neutral storage flexibility.
