ftp/read.txt
2026-01-19 14:21:45 +08:00

119 lines
3.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

使用 systemd 设置开机自启动
systemd 是现代Linux发行版的初始化系统和服务管理器它可以用来配置开机时自动启动Python脚本。
步骤:
创建一个 systemd 服务单元文件。例如,假设你的脚本路径是 /home/user/myscript.py你可以创建一个自定义的 systemd 服务文件。
创建一个新的服务单元文件:
sudo nano /etc/systemd/system/myscript.service
Windows: 打开 CMD 或 PowerShell运行 python ftp_client.py。你会看到提示 [+] Windows 自启动已配置。
Linux: 运行 sudo python3 ftp_client.py。你会看到 [+] Linux Systemd 服务已创建并启用。
在文件中输入以下内容:
[Unit]
Description=My Python Script
[Service]
ExecStart=/usr/bin/python3 /home/user/myscript.py
Restart=always
User=user # 这里的user是执行脚本的用户
WorkingDirectory=/home/user
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
这里的 ExecStart 是运行 Python 脚本的命令Restart=always 确保脚本崩溃时会自动重启User 是运行脚本的用户(你可以根据需要修改)。
使 systemd 重新加载配置文件并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable myscript.service # 开机启动
sudo systemctl start myscript.service # 立即启动
可以通过以下命令查看脚本的运行状态:
sudo systemctl status myscript.service
2. 使用 cron 配置开机自启动
cron 是Linux中的定时任务工具使用它的 @reboot 选项可以在每次系统启动时运行指定的脚本。
步骤:
编辑当前用户的 cron 配置文件:
crontab -e
在文件末尾添加以下行:
@reboot /usr/bin/python3 /home/user/myscript.py
保存文件并退出。系统启动后Python脚本会自动运行。
3. 使用 rc.local (适用于较旧的Linux系统)
在一些老旧的Linux系统中/etc/rc.local 文件用于执行开机时的脚本。现代Linux系统可能不再支持 rc.local但你仍然可以尝试这种方法。
步骤:
编辑 rc.local 文件:
sudo nano /etc/rc.local
在文件的 exit 0 之前添加:
/usr/bin/python3 /home/user/myscript.py &
保存并退出,确保 /etc/rc.local 文件具有执行权限:
sudo chmod +x /etc/rc.local
这样系统启动时会执行该Python脚本。
4. 使用 init.d (传统方式)
在老旧的Linux系统中init.d 也可以用来管理服务。
创建一个新的脚本文件在 /etc/init.d/ 目录下:
sudo nano /etc/init.d/myscript
在文件中写入如下内容以Debian/Ubuntu为例
#!/bin/bash
### BEGIN INIT INFO
# Provides: myscript
# Required-Start: $local_fs $network $remote_fs $syslog
# Required-Stop: $local_fs $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start my Python script at boot time
### END INIT INFO
/usr/bin/python3 /home/user/myscript.py &
保存并关闭文件,赋予执行权限:
sudo chmod +x /etc/init.d/myscript
启动脚本并使其在开机时自启:
sudo update-rc.d myscript defaults