我创建了一个脚本来启动服务器(我的第一个问题)。现在我希望它在系统启动时运行并启动定义的服务器。我应该怎么做才能完成这项工作?
我的发现告诉我把这个文件放在这个/etc/init.d位置,它会在系统启动时执行。但我无法理解启动时的第一个论点是start什么?这是预定义的某个地方start用作$1吗?如果我想要一个案例startall来启动脚本中的所有服务器,那么我可以管理哪些选项?
我的脚本是这样的:
#!/bin/bash
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $0 (start|stop|restart)"
;;
esac
Run Code Online (Sandbox Code Playgroud) 我创建了一个 shell 脚本来启动一个server程序。
startup.sh start
Run Code Online (Sandbox Code Playgroud)
当上面的命令执行时,它会尝试启动serveras adminuser。为了实现这一点,我的脚本是这样写的。
SUBIT="su - adminuser -c "
SERVER_BOX_COMMAND_A="Server"
##############
# Function to start cluster
function start(){
$SUBIT "$SERVER_BOX_COMMAND_A"
}
Run Code Online (Sandbox Code Playgroud)
当我执行命令时,它要求输入密码。有没有其他方法可以做到这一点,它不会要求输入密码。
我在 jboss 上提供的 Jboss 启动脚本中看到了这种行为。该脚本将用户更改为jboss然后启动 jboss 服务器。我希望我的脚本以相同的方式运行。
我正在创建一个脚本来在两个系统之间同步我的重要文档。我希望我的脚本为最后一个操作生成一个日志文件。你能建议我一种方法来实现这一点。
问题:如果我使用 -v 标志执行 rsync 命令,它将在控制台上打印大量消息。有什么办法。那么,我可以将这些日志重定向到一个文件吗?
我的笔记本电脑有两个操作系统。一种是windows vista。另一个是Ubuntu。我目前在 ubuntu 系统上,这是我的主要操作系统。
我的硬盘有4个分区
现在是问题部分。数据分区是NTFS。我已将此分区安装/media/windrive-a在 ubuntu OS 下的位置。
不久前,我决定删除数据分区的安装,然后启动命令rm -r /media/windrive-a/。给我一个震撼;我在数据驱动器上的所有数据都消失了。
现在,我知道这不是删除已安装分区的命令。但我做错了。有什么办法可以找回我的数据。这些对我来说都是非常重要的数据。
请建议。