AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-137794

Kahn's questions

Martin Hope
Kahn
Asked: 2021-10-08 05:08:44 +0800 CST

Qual é a diferença entre echo 0>file.txt e echo 0>file.txt?

  • 28

Eu vejo que isso tem o comportamento:

[root@divinity test]# echo 0 > file.txt
[root@divinity test]# cat file.txt
0
[root@divinity test]# echo 0> file.txt

[root@divinity test]# cat file.txt

Também notei que, se eu incluir "", funcionará como esperado:

[root@divinity test]# echo 0""> file.txt
[root@divinity test]# cat file.txt
0

Imagino que tudo isso seja apenas parte do redirecionamento de IO, mas não entendo muito bem o que echo 0>está fazendo.

shell io-redirection
  • 2 respostas
  • 3515 Views
Martin Hope
Kahn
Asked: 2021-09-29 10:45:01 +0800 CST

E se ! <comando> (...) vs. <comando> ; se [$? -eq 0 ] (...)

  • 5

Estou trabalhando em um script de shell e decidi verificar meu trabalho via shellcheck.net . Consigo obter funcionalmente o mesmo comportamento das duas linhas a seguir no meu script:

findmnt /dev/sda1 >/dev/null ; if [ $? -eq 0 ]; then echo 1; else echo 0; fi

vs.

if ! findmnt /dev/sda1 >/dev/null; then echo 0; else echo 1; fi

No entanto shellcheck lança :

SC2181: Verifique o código de saída diretamente com, por exemplo, 'if mycmd;', não indiretamente com $?.

Não está imediatamente claro para mim qual usar. Eu vejo: https://github.com/koalaman/shellcheck/issues/1167 que parece ter alterado isso para vários valores possíveis. Quero ter certeza de que estou escrevendo algo que usa as melhores práticas e que será executado sem problemas e reportado com precisão.

scripting control-flow
  • 1 respostas
  • 1495 Views
Martin Hope
Kahn
Asked: 2021-09-24 03:51:25 +0800 CST

Os atalhos de teclado do GNOME são salvos em um arquivo visível no Fedora 34?

  • 1

Não consigo encontrar um arquivo em nenhum lugar que pareça ter a alteração que fiz em vários atalhos.

Informações do ambiente:

cat /usr/share/gnome/gnome-version.xml;echo;cat /etc/redhat-release 
<?xml version="1.0"?>
<gnome-version>
 <platform>40</platform>
 <minor>4</minor>
 <micro>0</micro>
 <distributor>GNOME.Org</distributor>
 <date>2021-08-19</date>
</gnome-version>
Fedora release 34 (Thirty Four)

Com gsettings list-schemas | grep keybindingsestou voltando:

gsettings list-schemas | grep keybindings
org.gnome.desktop.wm.keybindings
org.gnome.mutter.wayland.keybindings
org.gnome.shell.keybindings
org.gnome.mutter.keybindings

Nenhum dos quais parece ter minha ligação salva (e funcionando) para Obsidian em qualquer lugar. Em qual arquivo o GNOME está realmente salvando meus atalhos de teclado?

fedora gnome
  • 1 respostas
  • 170 Views
Martin Hope
Kahn
Asked: 2021-09-18 11:09:30 +0800 CST

O ionice também se aplica a redirecionamentos de E/S?

  • 0

Um colega de trabalho observou recentemente um comando:

user@host:~$ ionice -c 3 mysqldump -uredacted -p redacted redacted > redacted.dmp

Como o host em questão usa o deadlineagendador de qualquer maneira, ioniceé ignorado . No entanto, colocou-se a questão:

Também ionicese aplica ao >redirecionamento? Aplica-se a todo o comando ou apenas ao mysqldump?

io-redirection ionice
  • 1 respostas
  • 35 Views
Martin Hope
Kahn
Asked: 2021-09-09 04:09:16 +0800 CST

yum info vim não tem nenhum pacote correspondente para listar

  • 0

Por que não yum info vimretorna informações sobre o vim, que está instalado na minha máquina Fedora 34?

[root@oatmeal ~]# yum info vim
Last metadata expiration check: 0:06:02 ago on Wed 08 Sep 2021 08:01:25 EDT.
Error: No matching Packages to list

vimestá instalado e configurado no meu host:

[root@oatmeal ~]# which vim
/usr/bin/vim
[root@oatmeal ~]# vim --version | head -n 4                                                                                                                                                                                                   
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 06 2021 00:00:00)
Included patches: 1-3404
Modified by <[email protected]>
Compiled by <[email protected]>

Há informações disponíveis sobre outros pacotes instalados:

[root@oatmeal ~]# yum info openssl                                                                                                                                                                                                            
Last metadata expiration check: 0:05:49 ago on Wed 08 Sep 2021 08:01:25 EDT.
Installed Packages
Name         : openssl
Epoch        : 1
Version      : 1.1.1l
Release      : 1.fc34
Architecture : x86_64
Size         : 1.1 M
Source       : openssl-1.1.1l-1.fc34.src.rpm
Repository   : @System
From repo    : updates
Summary      : Utilities from the general purpose cryptography library with TLS implementation
URL          : http://www.openssl.org/
License      : OpenSSL and ASL 2.0
Description  : The OpenSSL toolkit provides support for secure communications between
             : machines. OpenSSL includes a certificate management tool and shared
             : libraries which provide various cryptographic algorithms and
             : protocols.

[root@oatmeal ~]# yum info firefox 
Last metadata expiration check: 0:05:56 ago on Wed 08 Sep 2021 08:01:25 EDT.
Installed Packages
Name         : firefox
Version      : 91.0.2
Release      : 1.fc34
Architecture : x86_64
Size         : 253 M
Source       : firefox-91.0.2-1.fc34.src.rpm
Repository   : @System
From repo    : updates
Summary      : Mozilla Firefox Web browser
URL          : https://www.mozilla.org/firefox/
License      : MPLv1.1 or GPLv2+ or LGPLv2+
Description  : Mozilla Firefox is an open-source web browser, designed for standards
             : compliance, performance and portability.
yum package-management
  • 2 respostas
  • 336 Views
Martin Hope
Kahn
Asked: 2020-03-04 09:54:30 +0800 CST

Desativar o programa de iniciar na inicialização no cent6, sistema de arquivos montado

  • 0

Estou montando um sistema de arquivos com guestfish. É uma máquina Cent6. Quero ter certeza de que ele não iniciará o http na inicialização. Não consigo chmod -x /etc/rc.d/init.d/http, então optei por: mv /etc/rc.d/init.d/http /tmp/.

Como este é um sistema de arquivos montado no guestfish, não posso emitir um chkconfig neste serviço. O acima é adequado para garantir que o programa não seja iniciado na inicialização?

centos boot
  • 1 respostas
  • 16 Views
Martin Hope
Kahn
Asked: 2020-02-27 09:55:18 +0800 CST

logrote um frequentemente gravado para registrar sem perder dados

  • 0

Quero capturar consultas lentas por meio logrotatede , e quero que elas girem semanalmente e quero economizar o valor de um ano. Os logs assumem o formato:

-rw-r-----. 1 mysql  root           1239 Feb 21 18:46 mysqld1-slow.log
-rw-r-----. 1 mysql  root            885 Feb 11 14:48 mysqld2-slow.log
-rw-r-----. 1 mysql  root            885 Feb 22 08:58 mysqld3-slow.log
-rw-rw-rw-. 1 mysql  root            802 Feb 11 14:47 mysqld-slow.log

Como os logs acabam sendo gravados com tanta frequência, como posso garantir que nada seja perdido logrotate? O processo em si não cria o arquivo, ele precisa ter o original ali. Eu estava pensando que isso faria isso:

/var/log/mysqld*-slow.log {
    missingok
    notifempty
    weekly
    rotate 52
    compress
    delaycompress
    create 0644 mysql root
}

Portanto, ele deve compactar o antigo e criar o mesmo nome de arquivo com as permissões corretas, mas não tenho certeza de como o logrotate lida com algo que está escrito em meio ao movimento.

permissions logs
  • 1 respostas
  • 336 Views
Martin Hope
Kahn
Asked: 2020-01-16 05:32:41 +0800 CST

Grep - retorna conteúdo de tamanho de linha diferente após uma partida

  • 0

Eu preciso encontrar uma maneira de grepretornar conteúdo de tamanho de linha diferente após uma partida. Algumas partidas têm 4 linhas depois delas, outras têm 20. Eu preciso de todas.

A cada hora, estou procurando retornar as entradas de log da hora anterior, que têm carimbos de data/hora como:

time: 20200115132443

Para fazer isso, imagino que a cada hora um cronjob executará o timestamp da hora anterior como uma instrução grep:

grep "time: 2020011507"

O problema que estou tendo é que o log tem tamanhos diferentes para determinadas entradas após uma partida, então apenas coisas como grep -C 5não funcionam o tempo todo.

Eu estou querendo saber se eu deveria estar retornando todo o conteúdo de uma correspondência até a próxima instrução grep correspondente (que perderia a última entrada) ou se existe alguma outra maneira de executar isso. Um snippet de arquivo de log de amostra se parece com:

time: 20200115132443
logging stuffs
time: 20200115134543
more logging 
stuffs 
like this
time: 20200115140201 # this should now not be returned

Talvez eu esteja complicando demais e possa apenas executar uma grepdeclaração da hora atual e pegar tudo antes dessa hora e depois da hora anterior.

grep logs
  • 1 respostas
  • 152 Views
Martin Hope
Kahn
Asked: 2020-01-15 10:53:25 +0800 CST

Obtenha os últimos X minutos do arquivo de log com um registro de data e hora específico

  • 2

Estou tentando passar pelo arquivo de log de um host IPA para obter os últimos cinco minutos de conteúdo e obter atualizações sobre coisas como novas criações de usuários ou alterações de DNS. Eu quero cronometrar isso para que a cada cinco minutos ele verifique os cinco minutos anteriores, passe e combine algumas strings e envie por e-mail esses resultados. Não sei comparar facilmente as strings do tipo apresentado no log:

20200114184803 = 14-01-2020 | 18:48:03

time: 20200114184803
Stuff
Stuff
Stuff

time: 20200114184804
Stuff
Stuff
Stuff

time: 20200114184811
Stuff
Stuff
Stuff
linux logs
  • 2 respostas
  • 1454 Views
Martin Hope
Kahn
Asked: 2020-01-15 07:15:08 +0800 CST

Acompanha um arquivo de log ao vivo e a saída corresponde ao conteúdo para um e-mail

  • 0

Até agora com:

#!/bin/bash

tail -fn0 /var/log/dirsrv/redacted-domain/audit | \
while read line ; do
        echo "$line" | grep -C 5 -i "add: member"

        if [ $? = 0 ]
        then
                 mail -s "New User Added" [email protected] > /dev/null
        fi
        echo "$line" | grep -C 5 -i "add: nsaccountlock"

        if [ $? = 0 ]
        then
                 mail -s "Account Disabled" [email protected] > /dev/null
        fi
done

Eu quero pegar o conteúdo das correspondências grep do arquivo /var/log/dirsrv/redacted-domain/audite jogá-las em um e-mail para [email protected]. Parece redundante (e não funciona de qualquer maneira) lançar a instrução grep no próprio email com o loop acima.

Desculpe, devo incluir uma amostra do que está sendo grepped:

time: 20200114133315 dn: cn=users,cn=groups,cn=accounts,dc=ipa,dc=domain,dc=com result: 0 changetype: modify add: member member: uid=example_user,cn=users,cn=accounts,dc=ipa,dc=domain,dc=com

Quero encontrar uma correspondência de tipo add: membere retornar o ^ inteiro em um e-mail.

linux grep
  • 1 respostas
  • 2594 Views
Martin Hope
Kahn
Asked: 2019-12-24 08:42:47 +0800 CST

Host configurado com resolvconf e dnsmasq, reiniciar o dnsmasq continua apontando para servidores antigos

  • 0

Eu tenho um host Ubuntu 16.04.2 LTS. Ele está configurado para uso dnsmasqpara encaminhamento de DNS, em vez de uso resolv.confpreenchido com servidores de nomes. A configuração é padrão onde resolv.conftem apenas:

nameserver 127.0.0.1
search redacted.searchfield.com

O host configurado /etc/resolv.dnsmasqtem 4 servidores de nomes configurados. Quando reinicio o serviço dnsmasq, ele aponta para 3 servidores de nomes que foram configurados no host ao mesmo tempo (mas não mais) e os grava automaticamente em /var/run/dnsmasq/resolv.conf, ignorando os 4 servidores de nomes definidos em /etc/resolv.dnsmasq.

Posso fazer com que o serviço leia corretamente os servidores de nomes corretos se inserir os quatro /var/run/dnsmasq/resolv.confe deixar o dnsmasqserviço em execução. No entanto, se eu reiniciar o serviço, ele apenas aponta para esses 3 servidores de nomes antigos novamente.

Isso está armazenado em algum lugar? Eu não estou usando nscdaqui. Eu estou querendo saber se talvez o resolvconfserviço está causando um problema e não deve ser executado ao lado dnsmasq?

dnsmasq resolv.conf
  • 1 respostas
  • 747 Views
Martin Hope
Kahn
Asked: 2019-12-02 10:22:06 +0800 CST

Verificar se amanhã é o primeiro dia do mês está falhando no script bash

  • 1

Eu tenho um script que é executado todos os dias. Dependendo do dia da semana, ou se amanhã for o último dia do mês, ele moverá os arquivos para locais diferentes. Eu omiti as funções reais.

Variáveis:

TOM=$(TZ=UTC-24 date +%d)
SUNDAY=$(date +%w)

A lógica é a seguinte:

    if [ $TOM -eq 1 ]; then
            move_files monthly
    echo EXEUTING END OF MONTH MOVE AND PURGE, NON-DAILY, NON-END-OF-MONTH

    elif [ $SUNDAY -eq 0 ]; then
            move_files weekly
    echo EXECUTING SUNDAY MOVE AND PURGE, NON-DAILY, NON-END-OF-MONTH

    else echo EXECUTING DAILY MOVE AND PURGE NON-SUNDAY, NON-END-OF-MONTH
            move_files daily
    fi

Tudo é executado corretamente, porém ontem (30 de novembro) não moveu corretamente os arquivos para o monthlydiretório, que faz parte da move_files monthlyfunção. Testando em outro lugar, isso parece funcionar bem.

O host em que estou executando isso está no UTC.

bash shell-script
  • 2 respostas
  • 596 Views
Martin Hope
Kahn
Asked: 2019-11-28 08:30:02 +0800 CST

cpulimit não está realmente limitando o uso da CPU

  • 3

Estou ligando cpulimitde cron:

00 16 * * * /usr/bin/cpulimit --limit 20 /bin/sh /media/storage/sqlbackup/backups.sh

Quando o trabalho é iniciado, a CPU dispara e alerta como sempre, sem que nenhum limite real de identificação tenha ocorrido. O próprio trabalho itera em um diretório de muitos subdiretórios e executa rsync's a cada vez, o que acredito estar gerando rsyncprocessos filhos (executar top terá um pid disponível para o chamado rsync, que após alguns minutos terá um pid diferente para rsync).

Não tenho certeza de como utilizar corretamente cpulimitpara limitar efetivamente o uso que esse processo consome.

Pode ser importante ter em mente que esta é uma VM com 2G de RAM e 1vCPU.

rsync cron
  • 1 respostas
  • 2386 Views
Martin Hope
Kahn
Asked: 2019-11-23 11:51:25 +0800 CST

Defina o relógio para o formato de 24 horas para todos os usuários

  • 4

No Fedora 30, atualmente estou exibindo a data no formato de 24 horas no ambiente de desktop. Estou sincronizando o tempo via chronyd. Mas na CLI, a hora está sendo exibida como Fri 22 Nov 2019 02:47:51 PM ESTpara todos os usuários.

Quero definir o formato da hora para usar o relógio de 24 horas. timedatectlconfiguração e re-log como o usuário não faz nenhuma diferença.

fedora clock
  • 1 respostas
  • 32180 Views
Martin Hope
Kahn
Asked: 2019-11-23 10:07:55 +0800 CST

Encontre todos os diretórios que NÃO contenham o subdiretório correspondente e crie-os

  • 0

Tenho a seguinte estrutura de diretórios:

/media/storage/sqlbackup/CUSTOMER1
/media/storage/sqlbackup/CUSTOMER2
...
/media/storage/sqlbackup/CUSTOMER*

Cada CUSTOMER*diretório pode conter subdiretórios chamados daily, weeklye monthly. Se um CUSTOMER*diretório não contiver dailyOR weeklyOR monthly, quero que ele seja criado, se contiver, quero que permaneça.

Antes da: CUSTOMER1/daily

Depois: CUSTOMER1/{daily,weekly,monthly}

Eu estava tentando fazer isso com o uso inteligente de find, mas tentando retornar tudo o que não corresponde.

directory-structure directory
  • 1 respostas
  • 35 Views
Martin Hope
Kahn
Asked: 2019-11-23 06:13:18 +0800 CST

ntpstat mostrando servidores diferentes quando executados em momentos diferentes

  • 0

ntpstat synchronised to NTP server (IP addr redacted) at stratum 5 time correct to within 180 ms polling server every 1024 s

Se eu voltar mais tarde e executar ntpstat, o resultado às vezes retornará com um endereço IP diferente onde coloquei IP addr redacted.

Esse é o resultado polling server every xs? Portanto, se detectar algum limite de desvio/discrepância a cada 17 minutos, ele será sincronizado com outro servidor no pool definido em /etc/ntp.conf?

ntp
  • 1 respostas
  • 316 Views
Martin Hope
Kahn
Asked: 2019-11-16 11:44:24 +0800 CST

O que :>filename.txt está fazendo?

  • 23
:>filename.txt

Por exemplo:

root@box$ dd if=/dev/zero of=file.txt count=1024 bs=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00536175 s, 196 MB/s
root@box$ ll
total 1024
-rw-r--r-- 1 root root 1048576 Nov 15 14:40 file.txt
root@box$ :>file.txt
root@box$ ll
total 0
-rw-r--r-- 1 root root 0 Nov 15 14:40 file.txt

Isso é diferente de um rm? Ele opera mais rápido ou mais devagar do que outros meios semelhantes de zerar um arquivo ou excluí-lo?

bash
  • 4 respostas
  • 3089 Views
Martin Hope
Kahn
Asked: 2019-11-12 06:46:49 +0800 CST

Regex sem correspondência - Os validadores retornam OK [duplicado]

  • 0
Essa pergunta já tem respostas aqui :
Diferença entre [0-9], [[:digit:]] e \d (4 respostas)
Fechado há 2 anos .

Confuso sobre o porquê disso:

sudo ps aux | grep -E '\/erts-[1-9]\d*(\.\d+)+\/bin\/beam'

Não retorna uma correspondência para o beam.smpprocesso do formulário:

/opt/api_presence/erts-8.3/bin/beam.smp

Todos os testadores/validadores de regex confirmam que isso retorna a saída esperada, considerando o que foi inserido. No mínimo, você pode testar com /bin/beam.

Nos comentários, o usuário muru identificou meu problema.

regular-expression
  • 1 respostas
  • 49 Views
Martin Hope
Kahn
Asked: 2019-11-07 04:41:42 +0800 CST

Cancelar o comando atual, mas salvar no histórico

  • 0

No bash, podemos preceder um comando #e inserir o comando não executado em nosso histórico. Existe uma maneira de obter um comportamento semelhante por meio de alguns atalhos ou atalhos de teclado?

linux
  • 1 respostas
  • 91 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve