OCF_HEARTBEAT_SYMLIN(7)
β¨ OCF_HEARTBEAT_SYMLIN(7) β the symlink resource agent, explained π
okay so bestie, welcome to OCF_HEARTBEAT_SYMLIN(7), the manual page for ocf_heartbeat_symlink. yes it's a whole manpage about symlinks. no I'm not kidding. it's lowkey iconic though, let me explain π
π NAME π
ocf_heartbeat_symlink β Manages a symbolic link
like, that's it. that's the whole job. it manages a symlink. slay πΈ
π¦ SYNOPSIS π¦
symlink [start | stop | monitor | meta-data | validate-all]
those are your five actions, bestie. pick one. go off π
π DESCRIPTION π
So this is a resource agent that manages a symbolic link (symlink). fr fr, that's the vibe.
It's primarily intended to manage config files that should be enabled or disabled depending on where the resource is running β think cron job definitions and stuff like that. so like, when your resource lives over here, the cron file gets linked in; when it's over there, it doesn't. main character energy for config files, honestly π«Ά
β¨ SUPPORTED PARAMETERS β¨
linkβ Full path of the symbolic link to be managed. This must obviously be in a filesystem that supports symbolic links. (required, string, no default)targetβ Full path to the link target (the file or directory which the symlink points to). (required, string, no default)backup_suffixβ A suffix to append to any files that the resource agent moves out of the way because they clash withlink. If this is unset (the default), then the resource agent will simply refuse to create a symlink if it clashes with an existing file. (optional, string, no default)
ngl the backup_suffix thing is important β with no suffix set, your agent is just gonna β refuse to make the link if something's already sitting there. so if you want it to politely shove the old file aside instead of throwing a fit, set this π
π₯ SUPPORTED ACTIONS π₯
This resource agent supports the following actions (operations):
startβ Starts the resource. Suggested minimum timeout:15s.stopβ Stops the resource. Suggested minimum timeout:15s.monitorβ Performs a detailed status check. Suggested minimum timeout:15s. Suggested interval:60s.meta-dataβ Retrieves resource agent metadata (internal use only). Suggested minimum timeout:5s.validate-allβ Performs a validation of the resource configuration. Suggested minimum timeout:10s.
π EXAMPLE CRM SHELL π
Here's an example config for a symlink resource using the crm(8) shell:
primitive p_symlink ocf:heartbeat:symlink \
params \
link=string \
target=string \
op monitor depth="0" timeout="15s" interval="60s"
copy it, paste it, make it yours π
π§ EXAMPLE PCS π§
And here's the same energy for a symlink resource using pcs(8):
pcs resource create p_symlink ocf:heartbeat:symlink \
link=string \
target=string \
op monitor OCF_CHECK_LEVEL="0" timeout="15s" interval="60s"
note the OCF_CHECK_LEVEL="0" here instead of depth="0" β that's just how pcs do π¦
π SEE ALSO π
π AUTHOR π
ClusterLabs contributors (see the resource agent source for information about individual authors)
okay that's the whole page!! no cap, you now know everything there is to know about this little symlink goblin π
sign-off time: this beautiful page is from resource-agents, version UNKNOWN, dated 10/01/2026 β go forth and link your symlinks, bestie πβ¨π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms