小编Bas*_*ozz的帖子

杀死一个屏幕(但不是所有的屏幕)

我在 Ubuntu 服务器上运行了多个屏幕,这些屏幕启动为:

screen -dmS screen1 cmd
screen -dmS screen2 cmd
etc...
Run Code Online (Sandbox Code Playgroud)

我需要杀死一个屏幕,但不是全部。用其名称杀死单个特定屏幕的正确命令是什么?我已经阅读了手册页,但似乎找不到我正在寻找的命令。

此外,我想将此命令写入 bash 脚本中,因此我不能像往常一样简单地screen -r screen1Ctrl+ X

bash kill gnu-screen

22
推荐指数
2
解决办法
6万
查看次数

数据库中所有表的“ALTER table”

如何为数据库中的每个表运行以下命令:

ALTER table [table_name] type=innodb;
Run Code Online (Sandbox Code Playgroud)

我不想为每个表手动运行它,而是为数据库中的所有表运行它。顺便说一句:如果你对我为什么运行这个感到好奇:http : //bugs.mysql.com/bug.php? id = 1341 & http://bugs.mysql.com/bug.php?id=1287

mysql

7
推荐指数
1
解决办法
1万
查看次数

sed php.ini memory_limit

以下效果很好:

phpmemory_limit=256M #or what ever you want it set to
sed -i 's/memory_limit = 16M/memory_limit = '${phpmemory_limit}'/' /etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

如果 memory_limit 设置为 16M,但我发现在某些发行版中它不会默认为 16M,而是默认为 32M。所以我的问题是如何为此拥有 SED 帐户并将任何数字替换为 ${phpmemory_limit}?

bash sed php.ini

6
推荐指数
1
解决办法
8189
查看次数

SUDO 无法使用用户 GPG 密钥

我创建了一个脚本,它运行重复性来备份我在 VPS 上的文件,并使用我作为用户生成的 GPG 密钥。

当我尝试以 SUDO 身份运行此脚本时,我得到:

GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: C7B2Y6DO: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found ===== End GnuPG log =====
Run Code Online (Sandbox Code Playgroud)

现在我意识到这是为什么(因为它不是 SUDO 的密钥,而是用户密钥)但是在我去重新生成 SUDO 的密钥之前,是否可以让 sudo 使用用户密钥?

不是很重要,但脚本是根据这三个站点的组合建模的:http : //www.cenolan.com/2008/12/how-to-incremental-daily-backups-amazon-s3-duplicity/

http://www.randys.org/2007/11/16/how-to-automated-backups-to-amazon-s-s3-with-duplicity/

https://help.ubuntu.com/community/DuplicityBackupHowto

bash sudo gpg duplicity

6
推荐指数
1
解决办法
7407
查看次数

通过 ssh 传递命令时单引号和双引号的区别

当我通过 ssh 向远程服务器发送命令时,它们之间的区别是什么:

ssh user@123.456.789.012 'foo'
Run Code Online (Sandbox Code Playgroud)

ssh user@123.456.789.012 "foo"
Run Code Online (Sandbox Code Playgroud)

我没有传递任何变量,并且在远程运行命令时得到不同的结果。

ssh bash

4
推荐指数
1
解决办法
1940
查看次数

以编程方式更改 <Directory /var/www/> 的AllowOverride

如何以编程方式(使用 BASH)将 AllowOverride<Directory /var/www/>从 'None' 更改为 'All' ?

而不必手动编辑/etc/apache2/sites-enabled/000-default

通常我可以使用 sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/sites-enabled/000-default

但是我的 000-default 文件还有其他我不想更改的 AllowOverride 指令:

NameVirtualHost *
<VirtualHost *>
 ServerAdmin webmaster@localhost

 DocumentRoot /var/www/
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 <Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
 </Directory>

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
 </Directory>

 ErrorLog /var/log/apache2/error.log

 # Possible values include: debug, info, notice, warn, …
Run Code Online (Sandbox Code Playgroud)

bash httpd.conf apache-2.2

1
推荐指数
1
解决办法
2370
查看次数

标签 统计

bash ×5

apache-2.2 ×1

duplicity ×1

gnu-screen ×1

gpg ×1

httpd.conf ×1

kill ×1

mysql ×1

php.ini ×1

sed ×1

ssh ×1

sudo ×1