{"id":12818,"date":"2025-12-20T12:26:16","date_gmt":"2025-12-20T06:56:16","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=12818"},"modified":"2026-09-07T11:11:28","modified_gmt":"2026-09-07T05:41:28","slug":"how-to-configure-cron-jobs-on-linux","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/how-to-configure-cron-jobs-on-linux\/","title":{"rendered":"How to Configure Cron Jobs on Linux Server &#8211; (Step-by-Step Guide 2026)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>To configure cron jobs on a Linux server<\/strong>, decide which user should run the task, prepare a script with absolute paths, then add a schedule using crontab -e or \/etc\/crontab. Validate the schedule, check logs (syslog or \/var\/log\/cron), and test with simple output to confirm the job runs as expected.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This step-by-step guide explains how to configure cron jobs on a Linux server in 2026, including cron syntax, user vs system-wide crontabs, logging, troubleshooting, and security best practices. If you\u2019re learning how to configure <a href=\"https:\/\/www.youstable.com\/blog\/what-is-cron-jobs-on-linux-server\/\">cron jobs on Linux server<\/a> environments for the first time, you\u2019ll find practical examples and production-grade tips throughout.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-is-cron-and-why-it-matters-in-2026\"><strong>What is Cron and Why it Matters in 2026<\/strong>?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cron is a time-based scheduler built into most Linux distributions. It runs background tasks at fixed times, dates, or intervals\u2014ideal for backups, log rotation, cache warming, database maintenance, and reports. Despite the rise of systemd timers, cron remains the simplest, most portable <a href=\"https:\/\/www.youstable.com\/blog\/secure-dedicated-server\/\">way to schedule repeatable server<\/a> jobs across distros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites-and-quick-checklist\"><strong>Prerequisites and Quick Checklist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Shell access (SSH) to your Linux server.<\/li>\n\n\n\n<li>A non-root user with sudo if needed.<\/li>\n\n\n\n<li>Basic command-line familiarity.<\/li>\n\n\n\n<li>Editor set (nano\/vim) when using <code>crontab -e<\/code>.<\/li>\n\n\n\n<li>Package installed: <code>cron<\/code>\/<code>cronie<\/code> service running.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Ubuntu\/Debian\nsudo apt update &amp;&amp; sudo apt install cron\nsudo systemctl enable --now cron\n\n# CentOS\/RHEL\/AlmaLinux\/Rocky\nsudo dnf install cronie\nsudo systemctl enable --now crond<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"how-cron-works-on-linux\"><strong>How Cron Works on Linux<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"user-crontab-vs-system-wide-cron\"><strong>User crontab vs system-wide cron<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>User crontab: <\/strong>Each user has a private schedule file edited via <code>crontab -e<\/code>. Jobs run with that user\u2019s permissions.<\/li>\n\n\n\n<li><strong>System-wide: <\/strong><code>\/etc\/crontab<\/code> and files in <code>\/etc\/cron.d\/<\/code> can schedule jobs and specify the user field per job. Useful for global or service-level tasks.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cron-directories-and-run-parts\"><strong>Cron directories and run-parts<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/etc\/cron.hourly<\/code>, <code>\/etc\/cron.daily<\/code>, <code>\/etc\/cron.weekly<\/code>, <code>\/etc\/cron.monthly<\/code>: Drop executable scripts here to run at predefined times (managed by <code>run-parts<\/code>).<\/li>\n\n\n\n<li>These directories are perfect for system maintenance, but for custom schedules use user crontabs or <code>\/etc\/cron.d\/<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cron-syntax-explained-with-examples\"><strong>Cron Syntax Explained (With Examples)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"time-fields-and-special-strings\"><strong>Time fields and special strings<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Standard crontab entries use five time fields followed by the command. The fields are minute, hour, day-of-month, month, day-of-week.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># m  h  dom mon dow  command\n  5  2   *   *   *   \/usr\/local\/bin\/backup.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Special strings simplify common schedules:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@reboot    \/usr\/local\/bin\/startup-task.sh\n@hourly    \/usr\/local\/bin\/rotate-cache.sh\n@daily     \/usr\/local\/bin\/report.sh\n@weekly    \/usr\/local\/bin\/cleanup.sh\n@monthly   \/usr\/local\/bin\/archive.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"operators-asterisk-comma-dash-slash\"><strong>Operators: asterisk, comma, dash, slash<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>*<\/strong>: any value (every minute, hour, etc.).<\/li>\n\n\n\n<li><strong>,<\/strong>: list (e.g., <code>1,15,30<\/code>).<\/li>\n\n\n\n<li><strong>&#8211;<\/strong>: range (e.g., <code>1-5<\/code> for Monday\u2013Friday if Sunday=0\/7).<\/li>\n\n\n\n<li><strong>\/<\/strong>: step (e.g., <code>*\/10<\/code> for every 10 units).<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Every 10 minutes, weekdays 9:00\u201318:59\n*\/10 9-18 * * 1-5 \/usr\/local\/bin\/poll-metrics.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-by-step-configure-cron-jobs-on-a-linux-server\"><strong>Step-by-Step: Configure Cron Jobs on a Linux Server<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-1-choose-the-right-user\"><strong>Step 1 \u2014 Choose the right user<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run jobs with the least privileges required. Use a dedicated service user when possible. Reserve root-level cron for tasks that truly need elevated access (e.g., system backups).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-2-prepare-the-script-safely\"><strong>Step 2 \u2014 Prepare the script safely<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/usr\/bin\/env bash\nset -Eeuo pipefail\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\n\n# Example: write timestamp to a log\necho \"$(date -Is) - Job ran\" &gt;&gt; \/var\/log\/myjob.log<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use absolute paths for binaries and files.<\/li>\n\n\n\n<li>Set a known <code>PATH<\/code> inside the script (cron\u2019s environment is minimal).<\/li>\n\n\n\n<li>Make the script executable: <code>chmod +x<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-3-set-environment-variables\"><strong>Step 3 \u2014 Set environment variables<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can define variables per-cron or inside the script. Common ones: <code>PATH<\/code>, <code>MAILTO<\/code>, <code>SHELL<\/code>, and on newer cron versions, <code>CRON_TZ<\/code> for per-job timezone.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Top of your crontab\nSHELL=\/bin\/bash\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\nMAILTO=\"\"\n# Optional per-job timezone (supported on many distros)\nCRON_TZ=UTC<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-4-add-the-cron-job\"><strong>Step 4 \u2014 Add the cron job<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Edit user crontab\ncrontab -e\n\n# List current jobs\ncrontab -l<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For system-wide jobs, edit <code>\/etc\/crontab<\/code> or add a file in <code>\/etc\/cron.d\/<\/code>. Remember that system-wide entries add a user field before the command.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/crontab example (note the 'user' field)\n# m h dom mon dow user command\n5 2 * * * root \/usr\/local\/bin\/backup.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"step-5-validate-and-test\"><strong>Step 5 \u2014 Validate and test<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Quick test: run every minute (then remove after verifying)\n* * * * * \/usr\/bin\/date &gt;&gt; \/tmp\/cron_test.txt 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wait a few minutes, then inspect output. If it works, replace with your real schedule. Always log output and errors: append <code>&gt;&gt; \/var\/log\/myjob.log 2&gt;&amp;1<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"real-world-cron-examples-you-can-copy\"><strong>Real-World Cron Examples You Can Copy<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># 1) Nightly database backup at 02:15 UTC\n15 2 * * * \/usr\/local\/bin\/db-backup.sh &gt;&gt; \/var\/log\/db-backup.log 2&gt;&amp;1\n\n# 2) Run a script every 5 minutes\n*\/5 * * * * \/usr\/local\/bin\/refresh-cache.sh &gt;&gt; \/var\/log\/cache.log 2&gt;&amp;1\n\n# 3) Weekday job at 09:00 and 13:00\n0 9,13 * * 1-5 \/usr\/local\/bin\/report.sh\n\n# 4) At reboot (e.g., start a worker)\n@reboot \/usr\/local\/bin\/start-worker.sh\n\n# 5) Monthly cleanup on the first at 00:30\n30 0 1 * * \/usr\/local\/bin\/cleanup.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-cron-not-running-do-this\"><strong>Troubleshooting: Cron Not Running? Do This<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Confirm service status:<\/li>\n\n\n\n<li>Check logs:<\/li>\n\n\n\n<li>Use absolute paths. Cron\u2019s PATH is limited; commands that work in your shell may fail under cron.<\/li>\n\n\n\n<li>Permissions: ensure the script is executable and readable; directories must allow traversal.<\/li>\n\n\n\n<li>Environment: export required variables in the script or crontab.<\/li>\n\n\n\n<li>Shell differences: set <code>SHELL=\/bin\/bash<\/code> if using Bash-specific syntax.<\/li>\n\n\n\n<li>Allow\/deny files: <code>\/etc\/cron.allow<\/code> or <code>\/etc\/cron.deny<\/code> may restrict users.<\/li>\n\n\n\n<li>Time and timezone: verify system time (<code>timedatectl<\/code>) and any <code>CRON_TZ<\/code> usage.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"security-and-best-practices-for-production\"><strong>Security and Best Practices for Production<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Least privilege: run as a dedicated user, not root, unless necessary.<\/li>\n\n\n\n<li>Version control: keep scripts in Git; deploy via CI\/CD to avoid manual drift.<\/li>\n\n\n\n<li>Logging and rotation: log all output; configure logrotate for large logs.<\/li>\n\n\n\n<li>Input validation: don\u2019t trust environment input; sanitize variables.<\/li>\n\n\n\n<li>Use full paths: binaries and files should be absolute.<\/li>\n\n\n\n<li>Locking: prevent overlaps using flock:<\/li>\n\n\n\n<li>Monitoring: alert on failures with mail, Slack, or a monitoring stack.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cron-anacron-and-systemd-timers-which-to-use\"><strong>Cron, Anacron, and systemd Timers: Which to Use?<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cron: best for always-on servers that must run tasks at exact times.<\/li>\n\n\n\n<li>Anacron: ensures periodic jobs run even if the machine was off at the scheduled time (e.g., laptops, dev VMs).<\/li>\n\n\n\n<li>systemd timers: modern alternative with powerful dependencies and calendar syntax; great for services managed by systemd.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">For most server automation, cron remains sufficient. If you need dependency management, random delays, or tight integration with systemd units, consider converting critical cron jobs to timers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"cron-on-managed-hosting-and-wordpress-sites\"><strong>Cron on Managed Hosting and WordPress Sites<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On shared <a href=\"https:\/\/www.youstable.com\/blog\/cpanel-email-account\/\">hosting or cPanel<\/a>, you can add cron jobs via the control panel UI. For WordPress, replacing pseudo-cron (<code>wp-cron.php<\/code>) with a real cron improves reliability and performance, especially on busy sites.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Disable WP pseudo-cron in <a href=\"https:\/\/www.youstable.com\/blog\/edit-wp-config-php-file-in-wordpress\/\">wp-config.php<\/a>\ndefine('DISABLE_WP_CRON', true);\n\n# Real cron every 5 minutes\n*\/5 * * * * \/usr\/bin\/php \/var\/www\/html\/wp-cron.php &gt;&gt; \/var\/log\/wp-cron.log 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you host on YouStable\u2019s <a href=\"https:\/\/www.youstable.com\/vps-hosting\/\">managed VPS <\/a>or cloud servers, our team can preconfigure production-ready cron, logging, and monitoring so your backups, queues, and WordPress tasks run predictably with minimal overhead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"monitoring-logging-and-alerting\"><strong>Monitoring, Logging, and Alerting<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mail alerts: set <code>MAILTO=admin@example.com<\/code> to receive job output by email.<\/li>\n\n\n\n<li>Structured logs: log to files and ingest with rsyslog or the journal for centralized analysis.<\/li>\n\n\n\n<li>Exit codes: wrap scripts to emit non-zero on failures and alert via Slack\/Webhooks.<\/li>\n\n\n\n<li>Health dashboards: track last-run time, duration, and success metrics.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Example wrapper with exit-status logging\n\/usr\/local\/bin\/task.sh &gt;&gt; \/var\/log\/task.log 2&gt;&amp;1\nstatus=$?\nif &#91; $status -ne 0 ]; then\n  echo \"$(date -Is) - task failed with $status\" | mail -s \"Cron Failure\" admin@example.com\nfi<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"common-mistakes-to-avoid\"><strong>Common Mistakes to Avoid<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Using relative paths or assuming your interactive shell\u2019s PATH.<\/li>\n\n\n\n<li>Forgetting to escape percent signs (%) which are treated as newlines by cron\u2014quote commands or escape as needed.<\/li>\n\n\n\n<li>Editing the wrong crontab (root vs user).<\/li>\n\n\n\n<li>Skipping logs, making debugging painful.<\/li>\n\n\n\n<li>Letting jobs overlap and cause data corruption\u2014use <code>flock<\/code> or PID files.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"conclusion\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Configuring <a href=\"https:\/\/www.youstable.com\/blog\/install-cron-jobs-on-linux\/\">cron jobs on a Linux server<\/a> comes down to choosing the right user, using clear schedules, writing robust scripts, and observing logs. Follow the steps and examples above to schedule reliable, secure jobs that survive reboots and updates. For worry-free setup and monitoring, YouStable can manage cron for your production workloads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs-how-to-configure-cron-jobs-on-linux-server\"><strong>FAQs: How to Configure Cron Jobs on Linux Server<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1765609562851\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"u003cstrongu003ehow-do-i-schedule-a-cron-job-in-linuxu003c-strongu003e\">u003cstrongu003eHow do I schedule a cron job in Linux?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Run u003ccodeu003ecrontab -eu003c\/codeu003e, add a line with five time fields and a command, then save. Example: u003ccodeu003e0 3 * * * \/usr\/local\/bin\/backup.shu003c\/codeu003e runs daily at 03:00. Use absolute paths, set u003ccodeu003ePATHu003c\/codeu003e or define it at the top of the crontab, and verify with u003ccodeu003ecrontab -lu003c\/codeu003e.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765609569601\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"u003cstrongu003ewhere-are-cron-logs-storedu003c-strongu003e\">u003cstrongu003eWhere are cron logs stored?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>On Ubuntu\/Debian, cron messages appear in u003ccodeu003e\/var\/log\/syslogu003c\/codeu003e and with u003ccodeu003ejournalctl -u cronu003c\/codeu003e. On RHEL\/CentOS\/Alma\/Rocky, check u003ccodeu003e\/var\/log\/cronu003c\/codeu003e or u003ccodeu003ejournalctl -u crondu003c\/codeu003e. Always log your job output to a file for easier troubleshooting.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765609578534\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"u003cstrongu003ewhat-is-the-correct-cron-syntax-for-every-5-minutesu003c-strongu003e\">u003cstrongu003eWhat is the correct cron syntax for every 5 minutes?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use a step value in the minute field: u003ccodeu003e*\/5 * * * *u003c\/codeu003e. Example: u003ccodeu003e*\/5 * * * * \/usr\/local\/bin\/task.sh u003eu003e \/var\/log\/task.log 2u003eu0026amp;1u003c\/codeu003e. This runs at minute 0, 5, 10, 15, and so on every hour.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765609583235\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"u003cstrongu003ehow-can-i-run-a-cron-job-at-rebootu003c-strongu003e\">u003cstrongu003eHow can I run a cron job at reboot?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Add an u003ccodeu003e@rebootu003c\/codeu003e entry to your crontab: u003ccodeu003e@reboot \/usr\/local\/bin\/startup.shu003c\/codeu003e. Ensure the script handles idempotency and logs its actions. This is useful for queue workers, monitoring agents, or cache warmers that should start with the server.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765609594651\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"u003cstrongu003ewhats-the-difference-between-user-crontab-and-etc-crontabu003c-strongu003e\">u003cstrongu003eWhat\u2019s the difference between user crontab and \/etc\/crontab?u003c\/strongu003e<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>User crontabs isolate schedules per user and don\u2019t include a user field. u003ccodeu003e\/etc\/crontabu003c\/codeu003e is system-wide and adds a user column to run commands as specific users. For app-specific tasks, prefer user crontabs; for system tasks, use u003ccodeu003e\/etc\/crontabu003c\/codeu003e or u003ccodeu003e\/etc\/cron.d\/u003c\/codeu003e.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>To configure cron jobs on a Linux server, decide which user should run the task, prepare a script with absolute [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":15620,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"iawp_total_views":88,"footnotes":""},"categories":[350,2259],"tags":[],"class_list":["post-12818","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase","category-kb-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=12818"}],"version-history":[{"count":1,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12818\/revisions"}],"predecessor-version":[{"id":23227,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12818\/revisions\/23227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/15620"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=12818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=12818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=12818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}