# Ops: rsync先のディレクトリはssh mkdirで事前作成する
rsync -az LOCAL/ REMOTE:/path/ を実行する前に、必ず ssh REMOTE "mkdir -p /path" で宛先ディレクトリを作成する必要がある。宛先が存在しない場合、rsyncは「No such file or directory」エラーで失敗する。2026-04-19にtools_backup.shがshadow側の/home/ubuntu/backups/toolsを前提としていたが未作成だったため、毎日のcron backupが失敗し続けた事例が起点。バックアップ系スクリプトではsrc側とdst側の両方でmkdir -pをセットで記述し、ログのmkdir failedエラーは宛先ディレクトリ欠如のシグナルとして扱う。
## ポイント
- rsync実行前にssh REMOTE "mkdir -p /path"で宛先ディレクトリを必ず確保する
- バックアップスクリプトはsrc側mkdir -pとdst側ssh mkdir -pの両方をセットで記述する
- cronログの「mkdir failed」はディレクトリ欠如のシグナル。/home/ubuntu/logs/cron/を定期監視する
## 関連ページ
[[Ops: PM2 dangling process detection — スクリプト削除時はpm2 delete + pm2 saveをセットで実行]] [[Ops: Ollama はshadowで稼働・arcanaからTailscale経由で利用]] [[Ops: vvv-bots detail_cron ボットキー整合性]] [[MCP vs CLI 選択基準]]
## 関連概念(未作成)
`バックアップスクリプトの冪等性設計(mkdir -p + rsync + ログローテーション)` `cronジョブの事前チェックリスト(宛先存在・権限・ディスク空き容量)` `shadow/arcana間ファイル同期パターン`
Ops: rsync先のディレクトリはssh mkdirで事前作成する