Linux 中 canal 开机自启动
一、创建 canal 启动脚本
进入目录 /etc/init.d/ 并创建文件 canal,把下面内容粘贴进去,修改 java 路径和 canal 安装路径。
#!/bin/bash
#
#chkconfig: 345 63 37
#description: canal
#processname: canal
export JAVA_HOME=/usr/local/java/jdk1.8.0_161/
export PATH=$JAVA_HOME/bin:$PATH
CANAL_HOME=/usr/local/canal/adapter
case $1 in
start)
rm -rf $CANAL_HOME/bin/adapter.pid
sh $CANAL_HOME/bin/startup.sh
echo "canal is started"
;;
stop)
sh $CANAL_HOME/bin/stop.sh
echo "canal is stop"
;;
restart)
sh $CANAL_HOME/bin/stop.sh
sh $CANAL_HOME/bin/startup.sh
echo "canal is started"
;;
*)
echo "start|stop|restart"
;;
esac
exit 0
二、给脚本添加权限
$ chmod 755 canal
三、添加服务到开机项
$ chkconfig --add canal
四、设置为开机启动
$ chkconfig canal on
五、测试
$ service canal start
发现一个有意思的事情,canal 如果不正常退出服务,比如虚拟机强制重启等,canal开机就无法正常启动,报错如下:
found adapter.pid , Please run stop.sh first ,then startup.sh canal is started;
说的就是找到了adapter.pid 请先运行stop.sh,实际上canal服务已经停止了.