Ubuntu 进程备份与恢复实用指南
一、核心原则与总体思路
二、备份阶段操作清单
ps -eo pid,ppid,cmd,%mem,%cpu > processes_$(date +%F_%H-%M-%S).txtpgrep -x myapp | xargs -I{} ps -p {} -o pid,ppid,cmd,%mem,%cpu >> processes_$(date +%F_%H-%M-%S).txtsystemctl list-unit-files --type=service --state=enabled > enabled_services.txtsudo cp /etc/systemd/system/myapp.service /backup/services/tmux list-sessions > tmux_sessions.txt 或 screen -ls > screen_sessions.txtsudo journalctl -b > journal_$(date +%F).log;内核日志:dmesg > dmesg_$(date +%F).logsudo rsync -aAX --info=progress2 /var/lib/myapp /backup/myapp_data//proc、/sys、/dev 等虚拟文件系统)。三、恢复阶段操作清单
sudo cp /backup/services/myapp.service /etc/systemd/system/sudo systemctl daemon-reload && sudo systemctl enable --now myapp.servicenohup /usr/bin/myapp --config /etc/myapp/conf.yaml >/var/log/myapp.out 2>&1 &tmux new -s myapp 'exec /usr/bin/myapp' 或 screen -S myapp -d -m /usr/bin/myapptmux attach -t myapp 或 screen -r myappkill -CONT <PID>(先用 ps -eo pid,stat,cmd | awk '$2 ~ /T/ {print $1}' 查 PID)四、自动化与排错建议
0 * * * * ps -eo pid,ppid,cmd,%mem,%cpu > /backup/ps_$(date +\%F_\%H-\%M).txt0 2 * * * systemctl list-unit-files --type=service --state=enabled > /backup/enabled_services_$(date +\%F).txtjournalctl -u myapp -xe;检查配置与依赖:systemctl status myapp;资源与限制:ulimit -a、free -h、top/htop/proc/<PID>、/sys、/dev 等虚拟文件系统;