我试图在启动时运行一个脚本,它从数据库输出一个文件并将其保存在一个目录中。我的脚本在 shell 中运行良好,但当我尝试使用 systemd 在启动时运行脚本时失败。
以下是我的脚本:
#!/bin/bash
mysql -u user -p123 <<EOF
use database
SELECT data INTO OUTFILE '/tmp/file1.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY "\n" FROM datalog;
EOF
我的systemd服务是这样的:
[Unit]
Description=My service
After=mysql.service
[Service]
Type=simple
ExecStart=/etc/init.d/myscript.sh start
StandardOutput=null
[Install]
WantedBy=multi-user.target
Alias=myscript.service
我的服务状态显示为不活动(已死)。我什至尝试将我的服务类型更改为 forking 和 oneshot,但没有任何效果。
如有任何建议,我们将不胜感激!
编辑:运行 sudo journalctl -u myservice
后我得到了这个:
May 08 15:02:02 beaglebone systemd[1]: Started My service.
May 08 15:02:02 beaglebone sudo[3003]: root : TTY=unknown ; PWD=/ ; USER=roo
May 08 15:02:02 beaglebone sudo[3003]: pam_unix(sudo:session): session opened fo
May 08 15:02:02 beaglebone sudo[3003]: pam_unix(sudo:session): session closed fo
最佳答案
Exec
不是指令,您可能是指 ExecStart
关于mysql - 如何使 Mysql/Mariadb 脚本在 debian 启动时工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56030885/