Public Access
A filtered-out directory card stayed visible. The card is targeted by an
id-based ready-state selector (`.js #directory[data-dir-state="ready"]
#dirGrid > .dev-card`, two ids), which outranked the old per-element patch
`.dev-card[hidden] { display:none }` — so `card.hidden = true` set the
attribute and every card stayed on screen while the count line correctly
read "Showing 1 of 4".
Fix: one rule, `[hidden] { display:none !important }`, early in /style.css.
A class- or id-based `display` can no longer beat the attribute, so this
cannot recur with the next class that sets `display`. The per-element
`[hidden]` patches are removed so a single mechanism governs:
- odoo-community-developers: cards + filter row + pager + modal
(load-bearing — each sets `display`); focus-sliders/noscript (redundant)
- index/de/es `.hero-notice[hidden]`, odoo-black-friday `.ads-consent[hidden]`
(redundant — those elements set no `display`)
Re-fingerprint local assets (style.css changed): /style.css?v 3332fbba93 ->
061517baef across 51 pages.
Measured in a real browser (local harness, stubbed webhook; no record created,
no probe write) — computed display + geometry, never the `hidden` property:
- filtered to one card: the other three report display:none and height 0;
the visible set (1) equals the count line ("Showing 1 of 4") — 1 == 1
- HEAD (pre-fix) reproduces the defect: 3 cards hidden=true yet display:flex,
height 599.38 each; 4 visible vs the count's 1
- pager: display:none height 0 with one page; display:flex height 66.83 with
12 cards (Page 1 of 2); page 2 hides page-1 cards (display:none)
- modals closed: display:none height 0; load state: cards 0, pager/empty
display:none, filter row visibility:hidden by design
- 375 px: same result, no horizontal overflow; avatar ask-row top identical
across a row (2053.97 / links 2086.91)
255 lines
10 KiB
HTML
255 lines
10 KiB
HTML
<!doctype html>
|
|
<html lang="en-US">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>
|
|
Set Up Automated Backups in Under 2 Minutes | ODOO4projects
|
|
</title>
|
|
<meta
|
|
name="description"
|
|
content="Protect your Odoo data in moments. This speed-run walks you through enabling automated daily backups with one click."
|
|
/>
|
|
<link
|
|
rel="canonical"
|
|
href="https://odoo4projects.com/blog/posts/speed-run-backup.html"
|
|
/>
|
|
<meta
|
|
property="og:title"
|
|
content="Set Up Automated Backups in Under 2 Minutes"
|
|
/>
|
|
<meta
|
|
property="og:description"
|
|
content="Protect your Odoo data in moments. This speed-run walks you through enabling automated daily backups with one click."
|
|
/>
|
|
<meta property="og:type" content="article" />
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<link rel="icon" href="../../images/favicon.ico" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<link
|
|
rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
|
/>
|
|
<link rel="stylesheet" href="../../style.css?v=061517baef" />
|
|
<style>
|
|
.container {
|
|
width: 80%;
|
|
max-width: 800px;
|
|
margin: 0 auto;
|
|
padding: 0 20px;
|
|
}
|
|
@media (max-width: 768px) {
|
|
.container {
|
|
width: 100%;
|
|
}
|
|
}
|
|
.blog-header {
|
|
padding: 2rem 0;
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.blog-header a {
|
|
color: var(--primary);
|
|
text-decoration: none;
|
|
font-size: 0.85rem;
|
|
}
|
|
.blog-header a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.post-title {
|
|
font-family: "Inter Tight", sans-serif;
|
|
font-size: clamp(1.5rem, 3vw, 2.2rem);
|
|
font-weight: 700;
|
|
margin: 1.5rem 0 0.5rem;
|
|
color: var(--dark);
|
|
}
|
|
.post-meta {
|
|
color: rgba(33, 37, 41, 0.5);
|
|
font-size: 0.85rem;
|
|
margin-bottom: 2rem;
|
|
}
|
|
.post-content h2 {
|
|
font-family: "Inter Tight", sans-serif;
|
|
font-size: 1.3rem;
|
|
margin-top: 2rem;
|
|
color: var(--dark);
|
|
}
|
|
.post-content p {
|
|
margin: 1rem 0;
|
|
color: rgba(33, 37, 41, 0.7);
|
|
line-height: 1.7;
|
|
}
|
|
.post-content ul,
|
|
.post-content ol {
|
|
padding-left: 1.5rem;
|
|
}
|
|
.post-content li {
|
|
margin: 0.5rem 0;
|
|
}
|
|
.post-content a {
|
|
color: var(--primary);
|
|
}
|
|
.post-content code {
|
|
background: var(--light);
|
|
color: var(--dark);
|
|
padding: 0.2rem 0.4rem;
|
|
border-radius: var(--radius);
|
|
font-size: 0.9em;
|
|
border: 1px solid var(--border);
|
|
}
|
|
.post-content pre {
|
|
background: var(--light);
|
|
color: var(--dark);
|
|
padding: 1rem;
|
|
border-radius: var(--radius);
|
|
overflow-x: auto;
|
|
border: 1px solid var(--border);
|
|
font-size: 0.9rem;
|
|
}
|
|
.pro-tip {
|
|
border-left: 3px solid var(--primary);
|
|
background: rgba(113, 75, 103, 0.04);
|
|
padding: 1rem 1.25rem;
|
|
margin: 1.5rem 0;
|
|
border-radius: 0 var(--radius) var(--radius) 0;
|
|
}
|
|
.pro-tip strong {
|
|
color: var(--primary);
|
|
}
|
|
.cta-box {
|
|
border: 1px solid var(--border);
|
|
background: #fff;
|
|
padding: 1.5rem;
|
|
margin: 2rem 0;
|
|
border-radius: var(--radius);
|
|
text-align: center;
|
|
}
|
|
.cta-box h3 {
|
|
margin: 0 0 0.5rem;
|
|
color: var(--dark);
|
|
}
|
|
.cta-box p {
|
|
margin: 0 0 1rem;
|
|
color: rgba(33, 37, 41, 0.7);
|
|
font-size: 0.9rem;
|
|
}
|
|
.post-footer {
|
|
padding: 2rem 0;
|
|
border-top: 1px solid var(--border);
|
|
margin-top: 2rem;
|
|
}
|
|
.post-footer a {
|
|
color: var(--primary);
|
|
text-decoration: none;
|
|
}
|
|
.post-footer a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BlogPosting",
|
|
"headline": "Set Up Automated Backups in Under 2 Minutes",
|
|
"datePublished": "2026-06-10",
|
|
"url": "https://odoo4projects.com/blog/posts/speed-run-backup.html",
|
|
"author": {
|
|
"@type": "Organization",
|
|
"name": "ODOO4projects",
|
|
"url": "https://odoo4projects.com/"
|
|
},
|
|
"publisher": {
|
|
"@type": "Organization",
|
|
"name": "ODOO4projects",
|
|
"url": "https://odoo4projects.com/",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "https://odoo4projects.com/images/logo.png"
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<!-- Privacy-friendly analytics by Plausible -->
|
|
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
|
<script>
|
|
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
|
plausible.init()
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<div class="container">
|
|
<div class="blog-header">
|
|
<a href="../../index.html#blog">← Back to Blog</a>
|
|
</div>
|
|
<article>
|
|
<h1 class="post-title">
|
|
Set Up Automated Backups in Under 2 Minutes
|
|
</h1>
|
|
<div class="post-meta">June 10, 2026 · Speed Run</div>
|
|
<div class="post-content">
|
|
<p>
|
|
Data loss is every business owner's nightmare. With
|
|
ODOO4projects, backups are already running before you
|
|
look — here's how to check them in under two minutes.
|
|
</p>
|
|
<h2>Step 1: Open Your Odoo</h2>
|
|
<p>
|
|
Log in to your Odoo instance — the same login you always
|
|
use. There is no separate hosting dashboard to open.
|
|
Backups run as a scheduled action inside Odoo, and you
|
|
manage them there.
|
|
</p>
|
|
<h2>Step 2: Check the Backup Job</h2>
|
|
<p>
|
|
Backups are already running for you. To see or adjust
|
|
the schedule, turn on Development Mode in Odoo and open
|
|
the scheduled action that runs the backup job. You can
|
|
review it, adjust it, or trigger it by hand.
|
|
</p>
|
|
<pre><code>Odoo > Settings > Development Mode (on)
|
|
Odoo > Settings > Technical > Scheduled Actions > backup job</code></pre>
|
|
<h2>Step 3: You're Done</h2>
|
|
<p>
|
|
That's it. Your data is backed up on the schedule, and
|
|
you can trigger a backup by hand any time from the same
|
|
screen.
|
|
</p>
|
|
<div class="pro-tip">
|
|
<strong>Pro Tip:</strong> Your <a href="../../index.html#pricing">plan</a> decides how many
|
|
backups you keep. Side Hustle keeps one, On the Rise and
|
|
Powerhouse keep four. When the slots are full the oldest
|
|
backup is overwritten and permanently deleted, so before
|
|
a major change, download a copy of the database you want
|
|
to keep.
|
|
</div>
|
|
<div class="cta-box">
|
|
<h3>Protect Your Business Data</h3>
|
|
<p>
|
|
Every paid plan includes automated backups — one
|
|
slot on Side Hustle, four on On the Rise and
|
|
Powerhouse. The free trial has none.
|
|
</p>
|
|
<a href="../../index.html#pricing" class="btn btn-primary"
|
|
>Choose a Plan</a
|
|
>
|
|
</div>
|
|
<p>
|
|
A backup is the safety net for a single change. When the change is bigger than one
|
|
module, a version upgrade or a migration, a staging environment is worth it. Read
|
|
<a href="../../odoo-staging-environment/">what a staging environment is, and why you probably do not need one</a>.
|
|
</p>
|
|
</div>
|
|
</article>
|
|
<div class="post-footer">
|
|
<a href="../../index.html#blog">← Back to all posts</a>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
|
</body>
|
|
</html> |