我正在尝试编写一个脚本,该脚本将根据机器的架构确定操作。我已经uname -m习惯收集架构线了,但是我不知道有多少个ARM架构,也不知道一个是armhf, armel, 还是arm64.
由于这是需要这种脚本来确定脚本的部分是否可以运行或不,我试图找到一个简单的方法来确定该架构armhf,armel或arm64。是否有可用于输出或者任何单行或简单的命令armhf,armel或arm64?
该脚本是专门为 Debian 和 Ubuntu 系统编写的,我正在考虑这一点(如果您不在这些发行版之一上,它会自动退出,但是如果命令存在)
编辑:最近了解到 armel 已死,并且 arm64 软件构建器(PPA 或基于虚拟的)并不是最稳定的。所以我有一个通配符搜索查找arm*和假设 armhf,但仍然有必要找出一个返回三个之一的一个 liner - 无论是 Ubuntu/Debian 命令还是内核调用或其他东西。
在沙箱 VM 环境中,我设置了 Ubuntu Linux,它有防火墙,无法从本地系统外部访问。因此,在该 VM 上,我想为管理用户(我设置的)提供使用 sudo 运行任何内容而无需密码的能力。
虽然我知道这并不安全,但这个虚拟机并不是一直都在运行,并且需要我的个人密码才能运行。所以即使这不是“安全”,有没有办法获得所需的功能?
任何人都可以向我指出编写可以递归遍历整个目录结构的 shell 脚本的代码或教程(从当前工作目录开始,或者给出从哪里开始的必需参数)并且可以:
chmod 755它,或...chmod 644它。我正在寻找与 Ubuntu、Debian、基于 RHEL 等的兼容性,所以我没有用任何特定的语言来标记它。我希望在 Bash 中使用它,但是如果您有 ZSH 脚本,那也可以。
我正在运行 64 位 Xubuntu 14.04,Linux 版本 3.8.0-25,内存为 8GB。
我有一个脚本(在 MATLAB 中,它的价值)一次加载大量数据文件(~23k),总共大约 45G 的数据。我遇到的问题是在每个文件加载后,它仍保留在文件缓存中。Linux 似乎更喜欢将这些文件缓存在内存中,而不是任何其他内存内容,导致几乎所有其他内容都被强制交换,导致我的系统缓慢爬行。我每秒读取几个文件,所以这发生得相当快。我只读取每个文件一次,所以我不需要文件在我完成后保持缓存。
我试过关闭交换,这在一定程度上有效,但这似乎是一个糟糕的解决方案(并且当另一个程序开始使用过多内存时它已经失败了一次)。有没有办法可以限制 linux 用于文件缓存的 RAM 量?
我为 pg 备份编写了以下 shell 脚本:
#!/bin/bash
PG_USER=donato
DATABASE=mydb
SERVER=216.58.219.174
DIR="$HOME/pg_bak"
DATE=$(date +"%m_%d_%y")
FILE="$DATABASE_$DATE"
ERROR_FILE="$HOME/pg_bak/error_bak/$FILE_error.txt"
# pass @ .pgpass
PG_BAK_NOW () {
pg_dump -h $SERVER -U $PG_USER $DATABASE >$FILE 2>$ERROR_FILE
code=$?
if [ $code -ne 0 ]; then
echo 1>&2 "The backup failed (exit code $code), check for errors in $ERROR_FILE"
fi
}
echo "Ready to dump to $FILE" >> "$HOME/pg_status"
cd $DIR
if [ -f "$FILE" ];
then
rm $FILE
PG_BAK_NOW
else
PG_BAK_NOW
fi
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我知道它会执行一段时间:
$ pgrep -fl pg_bak.sh
4603 …Run Code Online (Sandbox Code Playgroud) 有没有办法从 Bash 脚本或其他语言脚本中打开用户系统上的默认浏览器到特定页面?
在当前的 Debian 测试机器上,我想使用 xz 而不是 GZip 来压缩日志文件。它具有较高的开箱即用压缩率,因此我希望使用它。
但是,每当我在 logrotate 配置中指定它时,logrotate 就会说它无法用于xz压缩。它只是说该文件无法执行,即使它在系统和用户 shell 中的其他任何地方都可以工作。
有什么办法可以调试这个吗?
这可能是不可能的,但我有一个案例,我们希望将 SSH 身份验证失败与 RHEL 6.6 机器上的标准 SSH 日志记录分开。
我知道我们可以使用SyslogFacilitywithsshd_config来指定发送日志数据的位置,是否可以通过该方法仅发送SSH 身份验证失败?
编辑:如果不在sshdor 中sshd_config,如何在 syslog 端完成此操作?
bash ×2
debian ×2
scripting ×2
shell-script ×2
architecture ×1
browser ×1
command-line ×1
files ×1
kernel ×1
logrotate ×1
logs ×1
memory ×1
open-files ×1
rhel ×1
rsyslog ×1
sshd ×1
sudo ×1
ubuntu ×1
xz ×1
zsh ×1