AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[startup-scripts](server)

Martin Hope
Mark Deven
Asked: 2020-12-17 18:33:34 +0800 CST

以具有 root 权限的用户身份运行脚本

  • 1

由于挂载的驱动器上的权限冲突且不断变化(由于程序的开发结构而无法轻易解决),因此必须使用root权限运行脚本。

这可以完成sudo /usr/serverm1/lsintd并提供良好的结果。但是,我们希望在启动时自动运行此脚本。

由于权限不足,在启动时在我们的主用户下运行脚本会导致核心转储。因此,我们认为我们可以在 crontab 中将其设置为@reboot /usr/serverm1/lsintd(如此处所建议的,但是这会使用 root 的设置和配置运行它(这是不存在的)。

TLDR:我们如何才能像在启动时使用命令一样运行脚本sudo /usr/serverm1/lsintd?

我也尝试应用chmod u+x到二进制文件,但是这仍然会导致核心转储,就像使用常规权限运行一样(想法来自让用户运行具有 root 权限的脚本)。

旁注:我承认这在某种程度上是一个 XY 问题,但是由于我们服务器上一些其他服务的开发结构缓慢且组织不良,我们无法解决根本问题,必须解决这个问题。

linux root startup linuxmint startup-scripts
  • 1 个回答
  • 1232 Views
Martin Hope
user24601
Asked: 2016-05-29 19:08:30 +0800 CST

在启动时在 /var/run 下创建一个目录

  • 63

我有一个守护进程,它的 PID 文件需要它自己的目录,/var/run并授予该守护进程的用户写入权限。

我发现我可以用这些命令创建这个目录:

# mkdir /var/run/mydaemon

然后我可以将其所有权更改为我希望运行该进程的用户/组:

# chown myuser:myuser /var/run/mydaemon

但是每当我重新启动时,这个目录就会消失!每次机器启动时如何创建这个目录?

linux daemon centos7 systemd startup-scripts
  • 2 个回答
  • 53598 Views
Martin Hope
John Reid
Asked: 2015-10-30 02:35:00 +0800 CST

DISM 部署的 Windows 10 应用程序无法启动

  • 2

我正在尝试使用带有计算机启动脚本的 DISM 将应用程序部署到学校周围的计算机。

我创建了一个脚本来枚举网络上的目录并在计算机上安装应用程序:

for %%v in (%~dp0*.appx) do (
    DISM /Online /Add-ProvisionedAppxPackage /PackagePath:%%v /SkipLicense
)

在第一次检查时,该应用程序似乎部署得很好。但是,当有人尝试启动应用程序时,会出现停滞的进度条:

Freshpaint 停滞不前

但是,如果我使用提升的命令提示符中的命令,则应用程序可以正常安装和启动。

我可以做些什么来在部署后修复应用程序或第一次正确部署?

startup-scripts
  • 1 个回答
  • 1561 Views
Martin Hope
Philipp
Asked: 2014-07-12 03:03:01 +0800 CST

运行级脚本的执行顺序

  • 5

我在 /etc/rc0.d 中的运行级别 0 脚本,应该在停止时执行,例如

  1. K05foo -> ...
  2. K10bar -> ...
  3. K80baz -> ...
  4. S10somemore -> ...
  5. S90 暂停 ​​-> ...

是否正确,执行顺序如上所列,即

  1. 首先击杀,按优先级升序排列
  2. 然后所有开始,按优先级升序排列
  3. 所有这些,与我们切换到的运行级别无关 (S,0-6)
  4. 所有脚本总是被调用(即没有额外的检查会阻止调用脚本,例如是否在先前的运行级别中该脚本实际上已启动)

我很困惑,因为在我的嵌入式系统上,一些脚本似乎没有被执行,并且那个页面说

S20 链接在 S91 之前启动,并且 K91 在 K20 之前被杀死。

这与我上面的文字相矛盾。

startup-scripts
  • 2 个回答
  • 6009 Views
Martin Hope
hackerhasid
Asked: 2012-07-05 05:07:31 +0800 CST

启动脚本不在 amazon linux 上执行

  • 2

我正在尝试将 syslog 转发到 logentries.com,这需要在 /etc/rsyslog.conf 中添加一行,到目前为止一切顺利。但是,我在 amazon elastic beanstalk 上运行并且有 3 个环境(开发、暂存、生产),我想根据环境路由到不同的端口(logentries 根据转发的端口区分环境)

我创建了一个在端口 8001 上运行的 apache 站点,它只输出我想用于这个特定服务器的端口(因为弹性 beanstalk 容器属性附加到 php.ini,我需要一种方法来输出 php.ini 变量)。然后我写了一个脚本:

#!/bin/bash
LOGENTRIES_PORT=`curl 127.0.0.1:8001`
if [ "${LOGENTRIES_PORT}" == '' ]; then
  exit -1
fi

echo "*.* @@46.51.181.128:${LOGENTRIES_PORT}" >> /etc/rsyslog.conf
service rsyslog restart

从终端运行时效果很好,但我似乎无法在启动时运行。

我把它插在里面/etc/rc.d/rc.local,我把它插进去/etc/rc.d/rc3.d/S99logentries(777烫发)但没有运气。任何想法为什么会这样?

amazon-web-services startup-scripts
  • 1 个回答
  • 429 Views
Martin Hope
pepoluan
Asked: 2012-06-20 20:59:50 +0800 CST

GPO 启动脚本可以启动后台进程并立即退出吗?

  • 1

我用谷歌搜索过,但还没有找到答案。

场景:我的一个 GPO 有一个需要很长时间才能完成的启动脚本。由于某些原因,我们必须同步运行脚本。自然地,这会导致登录屏幕出现之前的启动时间变慢(有时长达 15 分钟!)。

在对肇事者脚本进行剖析和分析后,我最终确定需要很长时间才能完成的步骤不会影响后续 GPO 的结果。换句话说,该特定步骤(以及之后的所有步骤)可以在后台运行。

我的问题:启动脚本是否有可能只是“触发”另一个脚本/程序,即使启动脚本退出,该脚本/程序也会运行完成?也就是说,即使启动脚本的进程结束,启动脚本的“子进程”也会继续存在?

附加信息:域控制器是 2008 和 2008 R2。工作站是 Windows XP。

group-policy active-directory startup-scripts
  • 4 个回答
  • 4755 Views
Martin Hope
tacos_tacos_tacos
Asked: 2012-06-20 09:37:04 +0800 CST

在 AD 中通过启动脚本卸载软件

  • 2

我们大多数机器上都存在一个防病毒包,需要将其删除。我没有部署这个软件,它也不是通过 GPO 部署的——它是由前任管理员在每台机器上手动安装的。所以,我不认为我现在可以使用组策略删除这个软件,因为它不是通过组策略安装的。不过它确实带有 MSI 安装程序。

我相信我仍然可以通过启动脚本卸载该软件,可能是首先检查是否存在该软件存在的某些指标,然后使用无人值守的卸载程序批处理文件删除该软件。

这是安全的方法吗?有没有人有关于通过启动脚本卸载软件的任何提示或技巧?

windows-server-2003 group-policy active-directory startup-scripts
  • 2 个回答
  • 3951 Views
Martin Hope
bshacklett
Asked: 2012-06-16 06:13:29 +0800 CST

Office 2007 安装程序在启动脚本期间运行时不记录

  • 1

我正在使用启动脚本来部署 Microsoft Office 2007 Standard。它工作不正常,我正在尝试为其查找日志记录信息。不幸的是,安装程序没有生成日志。我试过在 %temp%\, C:\, %systemroot%\temp 配置日志并将其保留为默认值,但都无济于事。事件日志中也没有显示任何内容。有没有其他地方我可以去寻找有关安装程序发生了什么的信息?

编辑:这是我当前正在运行的脚本:

// WSH System Objects
var shell = new ActiveXObject("WScript.Shell");
var fso = new ActiveXObject("Scripting.FileSystemObject")
var env = shell.Environment("Process");

// Well Known Constants
var EVENT_SUCCESS = 0;
var EVENT_ERROR = 1;
var EVENT_WARNING = 2;
var EVENT_INFORMATION = 4;
var EVENT_AUDIT_SUCCESS = 8;
var EVENT_AUDIT_FAILURE = 16;

// Custom Constants
var MESSAGE_DEPLOYMENT_START = "Outlook deployment started.";
var MESSAGE_ALREADY_DEPLOYED = "Deployment halted. Outlook already deployed at ";
var MESSAGE_ERROR_UNKOWN_GUID = "Deployment halted. An unknown Office product GUID has been detected.";
var MESSAGE_SETUP_STANDARD = "Initializing setup for Office12 Standard Edition. See Install log at " + env("TEMP") + "\\SetupExe(*).log";
var MESSAGE_SETUP_PROPLUS = "Initializing setup for Office12 Professional Plus. See install log at " + env("TEMP") + "\\SetupExe(*).log";
var MESSAGE_OFFICE_NOT_DETECTED = "Office was not detected; deployment aborted.";
var MESSAGE_OFFICE_VERSION_NOT_DETECTED = "Office version could not be detected; deployment aborted.";
var MESSAGE_UNKNOWN_ERROR = "An unknown error has occurred: ";
var MESSAGE_UNKNOWN_GUID = "Detected an unknown GUID";
var ECODE_CANNOT_READ_VALUE = 2;
var REG_OFFICE12_64 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Office\\12.0\\";
var REG_OFFICE12_32 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\12.0\\";
var REG_OFFICE12_REGISTRATION = "Registration";
var REG_OUTLOOK_INSTALL_LOCATION = "InstallRoot\\Path";
var DEPLOYMENT_SOURCE_STANDARD = "\"\\\\netapps\\apps\\Microsoft\\Office 2007 Standard\"";
var CONFIG_PATH_STANDARD = "\"\\\\netapps\\apps\\Microsoft\\Office 2007 Standard\\Config.xml\"";
var DEPLOYMENT_SOURCE_PROPLUS = "\"\\\\netapps\\apps\\Microsoft\\Office 2007 Professional Plus\"";
var CONFIG_PATH_PROPLUS = "\"\\\\netapps\\apps\\Microsoft\\Office 2007 Professional Plus\\Config.xml\"";
var OFFICE12_STANDARD_GUID = "{90120000-0012-0000-0000-0000000FF1CE}";
var OFFICE12_PROPLUS_GUID = "{90120000-0011-0000-0000-0000000FF1CE}";

// Log start of script.
messageEnvironmentSettings = "Environment Settings: \n";
messageEnvironmentSettings += "%TEMP%: " + env("TEMP") + "\n";
messageEnvironmentSettings += "%SYSTEMROOT%: " + env("SYSTEMROOT") + "\n";
messageEnvironmentSettings += "%WINDIR%: " + env("WINDIR") + "\n";

shell.LogEvent(EVENT_INFORMATION, MESSAGE_DEPLOYMENT_START + "\n\n" + messageEnvironmentSettings);


//***************** Get root Office registry key.**************
var regOfficeRoot;

try
{
    shell.RegRead(REG_OFFICE12_64);
    regOfficeRoot = REG_OFFICE12_64;
}
catch (e)
{
    if ((e.number & 0xFFFF) == ECODE_CANNOT_READ_VALUE)
    {
        try 
        {
            shell.RegRead(REG_OFFICE12_32);
            regOfficeRoot = REG_OFFICE12_32;
        }       
        catch (e2)
        {
            if ((e2.number & 0xFFFF) == ECODE_CANNOT_READ_VALUE)
            {
                // Office is not installed. Log and quit.
                shell.LogEvent(EVENT_INFORMATION, MESSAGE_OFFICE_NOT_DETECTED);
                WScript.Quit(0);
            }
            else
            {
                shell.LogEvent(EVENT_ERROR, MESSAGE_UNKNOWN_ERROR + e2.message);
            }
        }
    }
    else
    {
        shell.LogEvent(EVENT_ERROR, MESSAGE_UNKNOWN_ERROR + e.message);
    }
}

//************************ Find out if Outlook is installed.*******************************
try
{
    var outlookInstallationLocation = shell.RegRead(regOfficeRoot + "Outlook\\" + REG_OUTLOOK_INSTALL_LOCATION);

    // Log and exit.
    shell.LogEvent(EVENT_INFORMATION, MESSAGE_ALREADY_DEPLOYED + "\"" + outlookInstallationLocation + "\"" );
    WScript.Quit(0);
}
catch (e)
{
    if ((e.number & 0xFFFF) == 2)
    {
        // Key didn't exist; Outlook is not installed. Supress registry read error.
    }
    else
    {
        shell.LogEvent(EVENT_ERROR, MESSAGE_UNKNOWN_ERROR + e.message);
    }
}




//***************** Discover version of office installed.**************
var detectedOfficeGuid;
try
{
    shell.RegRead(regOfficeRoot + "Registration\\" + OFFICE12_STANDARD_GUID + "\\");
    detectedOfficeGuid = OFFICE12_STANDARD_GUID;
}
catch (e)
{

    if ((e.number & 0xFFFF) == ECODE_CANNOT_READ_VALUE)
    {
        try
        {
            shell.RegRead(regOfficeRoot + "Registration\\" + OFFICE12_PROPLUS_GUID + "\\");
            detectedOfficeGuid = OFFICE12_PROPLUS_GUID;
        }
        catch (e)
        {
            shell.LogEvent(EVENT_ERROR, MESSAGE_OFFICE_VERSION_NOT_DETECTED);
            WScript.Quit(1);
        }
    }
    else
    {
        shell.LogEvent(EVENT_ERROR, MESSAGE_UNKNOWN_ERROR + e.message);
    }
}


//************************* Installation ******************************

if (detectedOfficeGuid == OFFICE12_STANDARD_GUID)
{
    var messageSetup = MESSAGE_SETUP_STANDARD;
    var deploymentCommand = DEPLOYMENT_SOURCE_STANDARD + "\\setup.exe /config " + CONFIG_PATH_STANDARD;
}
else if (detectedOfficeGuid = OFFICE12_PROPLUS_GUID)
{
    var messageSetup = MESSAGE_SETUP_PROPLUS;
    var deploymentCommand = DEPLOYMENT_SOURCE_STANDARD + "\\setup.exe /config " + CONFIG_PATH_STANDARD;
}
else
{
    shell.LogEvent(EVENT_ERROR, MESSAGE_ERROR_UNKNOWN_GUID);
    WScript.Quit(1);
}

shell.LogEvent(EVENT_INFORMATION, messageSetup + "\n" + deploymentCommand);
var setupExec = shell.exec(deploymentCommand);

shell.LogEvent(EVENT_INFORMATION, "Exit Code: " + setupExec.ExitCode);
deployment windows-xp microsoft-office-2007 startup-scripts
  • 1 个回答
  • 201 Views
Martin Hope
Tom Harrison Jr
Asked: 2012-05-23 08:17:36 +0800 CST

rc.local 中的进程似乎没有运行——在哪里可以看到?

  • 1

我想在rc.local(Ubuntu Natty) 中运行一个进程,但我无法确定它是否已运行。我加了

/bin/sleep 10
/usr/bin/killall PassengerWatchdog
/bin/echo "Killall returned with code $?"

该文件设置了执行位。脚本以#!/bin/sh I would expect the echo to go开头/var/log/boot.log

这显然只是一个 hack,看看我是否可以解决问题。我怎么知道脚本是否执行了?

ubuntu startup-scripts rc.local
  • 2 个回答
  • 5948 Views
Martin Hope
Dane O'Connor
Asked: 2010-03-27 10:39:03 +0800 CST

Ubuntu 9.10:如何对似乎无法运行的启动脚本进行故障排除?

  • 2

我创建了一个 bash 脚本“foo”。我已经使该脚本可执行

chmod+x 

并通过运行将其添加到启动中

sudo update-rc.d foo defaults 80

尽管如此,它似乎并没有在启动时工作。有没有办法让我的脚本将消息回显到日志?或者是否有一些日志可以记录事件/错误?

自动取款机,我觉得我在瞎飞,真的不知道如何解决这个问题。

根据要求,这是我的脚本的内容:

#!/bin/bash
modprobe uinput
/home/dane/dev/mangler/run.sh /home/dane/dev/mangler/dane/keys.js

run.sh 命令执行程序 kbd-mangler.exe。在 gnome-terminal 中运行以下命令时,它可以工作:

~/$ sudo bash custom_keys.sh
ubuntu log-files troubleshooting startup-scripts ubuntu-9.10
  • 5 个回答
  • 8624 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve