Ubuntu 定时任务迁移指南
一、迁移总览
二、迁移 Cron 任务
crontab -l > mycron.txtscp mycron.txt user@dst:/tmp/crontab /tmp/mycron.txtfor u in $(cut -f1 -d: /etc/passwd); do crontab -l -u "$u" > "cron_${u}.txt"; done% 需转义为 \%(printf/sed 等场景常见)。三、迁移 Systemd 定时器
systemctl list-timers --allfoo.timer 与对应 foo.service。sudo systemctl daemon-reloadsudo systemctl enable --now foo.timersystemctl status foo.timer、systemctl list-timers 查看下次触发时间与状态。四、校验与常见问题处理
sudo systemctl status cron;必要时 sudo systemctl restart cron。sudo tail -f /var/log/cron.log 或 sudo journalctl -u cron -fcron.* 注释,重启 rsyslog:sudo service rsyslog restart五、一键迁移清单
crontab -l -u root > root_cron.txt、crontab -l -u app > app_cron.txtsudo cp -a /etc/crontab /backup/、sudo cp -a /etc/cron.d /backup/sudo cp -a /etc/systemd/system/*.timer /backup/、sudo cp -a /etc/systemd/system/*.service /backup/scp -r /backup user@dst:/backup/crontab /backup/root_cron.txt、crontab /backup/app_cron.txtsudo cp /backup/crontab /etc/、sudo cp -a /backup/cron.d /etc/sudo cp /backup/*.timer /etc/systemd/system/、sudo cp /backup/*.service /etc/systemd/system/ && sudo systemctl daemon-reload && sudo systemctl enable --now foo.timercrontab -l、systemctl list-timers、tail -f /var/log/cron.log 或 journalctl -u cron -f