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
    • 最新
    • 标签
主页 / user-53319

Iain Samuel McLean Elder's questions

Martin Hope
Iain Samuel McLean Elder
Asked: 2013-09-27 04:46:06 +0800 CST

为什么 sudo 不知道 psql 在哪里?

  • 4

问题

CKAN安装文档向您展示了如何列出已安装的 PostgreSQL 数据库。

该命令如下所示:

sudo -u postgres psql -l

当我在我的 shell 中尝试时,我得到一个错误:

$ sudo -u postgres psql -l
sudo: psql: command not found

解决方法

CentOS 论坛上的 Daniel2d2art通过完全限定 psql 的路径来解决这个问题。

我的 psql 位于目录/usr/pgsql-9.2/bin中,因此我的解决方法现在如下所示:

sudo -u postgres /usr/pgsql-9.2/bin/psql -l

当我在我的 shell 中尝试它时,它可以工作:

$ sudo -u postgres /usr/pgsql-9.2/bin/psql -l
                                   List of databases
     Name     |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
--------------+----------+----------+-------------+-------------+-----------------------
 postgis_test | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
              |          |          |             |             | postgres=CTc/postgres
 template1    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
              |          |          |             |             | postgres=CTc/postgres
(4 rows)

我该如何正确修复它?

我不应该完全限定路径,对吗?

postgres 用户的路径中已经有 psql:

$ sudo -u postgres echo $PATH
/usr/pgsql-9.2/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

我该如何正确解决这个问题?

centos
  • 2 个回答
  • 14857 Views
Martin Hope
Iain Samuel McLean Elder
Asked: 2012-07-21 06:32:06 +0800 CST

如何检测 robocopy 无法从源中删除?

  • 3

在我的 SQL Server 实例上,我使用 SQL Agent 分两步运行每日备份作业。

其中一个步骤使用 Robocopy 将本地备份文件移动到网络存储。

移动文件的命令如下所示:

robocopy M:\backups \\NAS\backups$\Database /MOV /MIR /XJ /NP /COPY:DT

作业步骤历史记录中命令的输出如下所示:

-------------------------------------------------------------------------------     
ROBOCOPY     ::     Robust File Copy for Windows                                
-------------------------------------------------------------------------------      
Started : Fri Jul 20 00:55:42 2012     
Source : M:\backups\       
Dest : \\NAS\backups$\Database        
Files : *.*            
Options : *.* /S /E /COPY:DT /MOV /PURGE /MIR /NP /XJ /R:1000000 /W:30     
------------------------------------------------------------------------------  
3  M:\backups\
      *EXTRA File       15.5 m  GeoDisplay_Full_2012-07-19-000004.bak
      *EXTRA File       41.3 m  GeoDisplay2_Full_2012-07-19-000004.bak
      *EXTRA File      264.1 g  Webstore_Full_2012-07-19-000004.bak
      New File          15.5 m  GeoDisplay_Full_2012-07-20-000002.bak
      New File          41.4 m  GeoStore_Full_2012-07-20-000002.bak
      New File         302.1 g  Webstore_Full_2012-07-20-000002.bak

      2012/07/20 04:34:50 ERROR 32 (0x00000020) Deleting Source File M:\backups\Webstore_Full_2012-07-20-000002.bak  The process cannot access the file because it is being used by another process.       
------------------------------------------------------------------------------
      Total    Copied   Skipped  Mismatch    FAILED    Extras
Dirs :         1         0         1         0         0         0     
Files :         3         3         0         0         0         3     
Bytes : 302.187 g 302.187 g         0         0         0 264.181 g     
Times :   3:38:57   3:38:45                       0:00:00   0:00:11         
Speed :            24720063 Bytes/sec.     
Speed :            1414.493 MegaBytes/min.       
Ended : Fri Jul 20 04:34:50 2012.  
Process exit code 3.

文本输出清楚地显示ERROR 32。Robocopy 无法执行此/MOV切换(复制后从源中删除),因为当 robocopy 尝试删除一个文件时,另一个进程拥有该文件的句柄。

Robocopy 返回退出代码 3(新文件复制到目标,额外文件从目标删除)。这是正确但不完整的,因为无法从错误代码中判断任何操作失败。

在确定命令 shell 操作是否成功时,SQL 代理仅考虑返回代码,而不考虑命令输出。我可以修改 Robocopy 命令以将输出保存到磁盘,并在额外的作业步骤中解析输出,但这需要额外的编程并且会向备份作业添加另一个依赖项。

有没有办法在不搜索 Robocopy 的文本输出字符串的情况下检测这种故障ERROR 32?

windows-server-2008
  • 2 个回答
  • 6469 Views
Martin Hope
Iain Samuel McLean Elder
Asked: 2012-07-02 05:03:06 +0800 CST

移动文件夹需要什么权限?

  • 3

在我的驱动器的根目录中有一个名为的文件夹SourceControl,其中包含我所有编程项目的所有工作副本。

我想将该文件夹移动到我的用户目录 ( \Users\Me),但有关该文件夹权限的某些内容禁止我这样做。我不记得我是如何创建文件夹的。

当我执行移动命令时:

MOVE \SourceControl \Users\Me

我收到以下错误:

Access is denied.

我过去使用该Takeown实用程序将文件的所有权分配给我解决了一个类似的问题,所以我接下来尝试了这个命令:

TAKEOWN /F \SourceControl

它返回以下错误:

ERROR: The current logged on user does not have ownership privileges
       on the file (or folder) "C:\SourceControl".

我刚刚了解了该Icacls实用程序,它可以检查和修改文件权限。

我使用此命令检查文件夹的权限:

ICACLS \SourceControl

它产生了这个列表:

\SourceControl BUILTIN\Administrators:(I)(F)
               BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
               NT AUTHORITY\SYSTEM:(I)(F)
               NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
               BUILTIN\Users:(I)(OI)(CI)(RX)
               NT AUTHORITY\Authenticated Users:(I)(M)
               NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)

我认为这意味着像我这样的普通用户帐户只有在RX这里读取和执行 ( ) 的权限,而管理员帐户具有完全控制 ( F)。

我使用 Icacls 通过以下命令将目录的完全控制权授予我的用户帐户:

ICACLS \SourceControl /grant:r Me:F

该命令产生以下输出:

processed file: \SourceControl
Successfully processed 1 files; Failed processing 0 files

现在检查权限会产生以下输出:

\SourceControl Domain\Me:(F)
               BUILTIN\Administrators:(I)(F)
               BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
               NT AUTHORITY\SYSTEM:(I)(F)
               NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
               BUILTIN\Users:(I)(OI)(CI)(RX)
               NT AUTHORITY\Authenticated Users:(I)(M)
               NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(M)

但是在此之后,移动命令仍然失败并出现相同的错误。

是否可以在不调用管理员权限的情况下移动此文件夹?如果没有,我应该如何以管理员身份进行操作?

permissions windows-7
  • 2 个回答
  • 1058 Views
Martin Hope
Iain Samuel McLean Elder
Asked: 2012-05-31 03:26:34 +0800 CST

如何在本地计算机管理界面中看到 MSMQ?

  • 29

我正在尝试调试使用 Microsoft 消息队列 (MSMQ) 的应用程序。我可以使用远程桌面连接在我的开发服务器上调试队列,但不能在我的本地桌面上重复该过程。如果可能,我更愿意使用本地桌面上的应用程序。

我的开发服务器运行的是 Windows Server 2003 R2 企业版。我的本地计算机运行的是 Windows 7 专业版。

使用远程桌面连接调试队列(见第一个截图):

  1. 以 DEV\admin_me 身份远程连接到我的开发服务器 (DEVSERVER) 的桌面。
  2. 运行compmgmt.msc。
  3. 导航到“计算机管理(本地)> 服务和应用程序 > 消息队列 > 专用队列”以查看我的应用程序使用的两个专用队列。

可以通过远程桌面连接进行消息队列管理。

在我的本地桌面上重复这个过程(见第二张截图):

  1. 运行runas /user:DEV\admin_me "mmc compmgmt.msc /computer:\\DEVSERVER"。(使用 runas 是因为我的本地桌面帐户是 DEV\me,而不是 admin)。
  2. 尝试导航到“计算机管理 (DEVSERVER) > 服务和应用程序 > 消息队列”,但它不可见。

在本地桌面上无法进行消息队列管理。

我错过了什么,还是使用远程桌面连接是唯一的方法?

msmq
  • 1 个回答
  • 147920 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