{"skill":{"slug":"personality-backup","displayName":"Personality Backup","summary":"Create encrypted backups of agent personality files, memory, config, secrets, and projects. Use when the agent needs to set up, run, or manage automated back...","description":"---\nname: personality-backup\ndescription: Create encrypted backups of agent personality files, memory, config, secrets, and projects. Use when the agent needs to set up, run, or manage automated backups of its workspace and identity files. Supports configurable backup targets, AES-256 encryption via 7-zip, and delivery via email (SMTP) or local storage.\n---\n\n# Personality Backup\n\nEncrypted backup of agent identity, memory, and workspace data.\n\n## Prerequisites\n\n- `p7zip-full` (7-zip CLI)\n- Python 3 with `smtplib` (for email delivery)\n- A backup password stored in a file\n\n## Configuration\n\nCreate `~/.openclaw/secrets/backup-config.json`:\n\n```json\n{\n  \"password_file\": \"/home/jan/.openclaw/secrets/backup-password.txt\",\n  \"password_field\": \"Password\",\n  \"delivery\": \"email\",\n  \"email\": {\n    \"to\": \"user@example.com\",\n    \"from\": \"agent@example.com\",\n    \"smtp_host\": \"mail.example.com\",\n    \"smtp_port\": 465,\n    \"smtp_user\": \"agent@example.com\",\n    \"smtp_pass_env\": \"BACKUP_SMTP_PASS\"\n  },\n  \"local\": {\n    \"dir\": \"/home/jan/backups\"\n  },\n  \"workspace\": \"/home/jan/.openclaw/workspace\",\n  \"secrets_dir\": \"/home/jan/.openclaw/secrets\",\n  \"config_file\": \"/home/jan/.openclaw/openclaw.json\",\n  \"agent_name\": \"Agent\",\n  \"agent_emoji\": \"\",\n  \"personality_files\": [\"SOUL.md\", \"IDENTITY.md\", \"USER.md\", \"AGENTS.md\", \"MEMORY.md\", \"TOOLS.md\"],\n  \"backup_memory\": true,\n  \"backup_secrets\": true,\n  \"backup_config\": true,\n  \"backup_projects\": true,\n  \"backup_scripts\": true,\n  \"project_excludes\": [\"node_modules\", \".git\", \"__pycache__\", \"*.mp4\", \"*.mp3\", \"*.wav\"],\n  \"generate_restore_guide\": true\n}\n```\n\nAll fields have sensible defaults. Only `password_file` and delivery settings are required.\n\n### Password File Format\n\nThe password file should contain a line: `Password: YOUR_SECRET_KEY`\n\nOr set `password_field` to `null` and the entire file content is used as the password.\n\n## Usage\n\n### Run a backup\n\n```bash\nbash scripts/backup.sh /path/to/backup-config.json\n```\n\n### Set up daily cron\n\n```bash\necho \"0 3 * * * bash $(pwd)/scripts/backup.sh /path/to/backup-config.json\" | crontab -\n```\n\n### Delivery Methods\n\n- **email** — Sends encrypted archive as email attachment via SMTP\n- **local** — Saves archive to a local directory\n\nSMTP password: set via the environment variable named in `smtp_pass_env`, or put it directly in `smtp_pass` (less secure).\n\n## Restore\n\nThe backup includes a generated `RESTORE.md` with step-by-step instructions for restoring onto a fresh OpenClaw installation. The restore guide is customized with the agent's name and configuration.\n","topics":["Backup","Email"],"tags":{"latest":"1.0.2"},"stats":{"comments":0,"downloads":261,"installsAllTime":9,"installsCurrent":0,"stars":0,"versions":3},"createdAt":1771275667379,"updatedAt":1778491560329},"latestVersion":{"version":"1.0.2","createdAt":1771345398886,"changelog":"Re-publish with latest changes","license":null},"metadata":null,"owner":{"handle":"civilainominee","userId":"s172y02evxk940jatnt7xkeppn8859z3","displayName":"civilainominee","image":"https://avatars.githubusercontent.com/u/260023722?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779971753805}}