Tem como pausar intervalo para um script bash que exportar vários xml?

1. Tem como pausar intervalo para um script bash que exportar vários xml?

Daniel Oliveira da Paixão
danielpaixaobr

(usa CentOS)

Enviado em 20/05/2021 - 19:15h

Eu primeiro exportei o xml de um site Wordpress e depois fiz um script para importar no outro site. Ocorre que esse script faz uma série de ações em sequencia. Talvez isso desgaste o servidor por estar o tempo todo trabalhando. Alguém sabe como pausar por um minuto após o processamento de cada xml fatiado? Isso ajuda o servidor ou não faz diferença? Segue os comandos que utilizei abaixo.


wp export --dir=/var/www/site.com.br/htdocs/backup --user=carlos --skip_comments --post_status=publish --filename_format={site}.{date}.{n}.xml --post_type=post --max_file_size=5 --start_date=2020-03-01 --end_date=2021-05-20 --allow-root



#!/bin/bash
wp import site.2021-05-20.000.xml --authors=create --allow-root
wp import site.2021-05-20.001.xml --authors=create --allow-root
wp import site.2021-05-20.002.xml --authors=create --allow-root
wp import site.2021-05-20.003.xml --authors=create --allow-root
wp import site.2021-05-20.004.xml --authors=create --allow-root
wp import site.2021-05-20.005.xml --authors=create --allow-root
wp import site.2021-05-20.006.xml --authors=create --allow-root
wp import site.2021-05-20.007.xml --authors=create --allow-root
wp import site.2021-05-20.008.xml --authors=create --allow-root
wp import site.2021-05-20.009.xml --authors=create --allow-root
wp import site.2021-05-20.010.xml --authors=create --allow-root
wp import site.2021-05-20.011.xml --authors=create --allow-root
wp import site.2021-05-20.012.xml --authors=create --allow-root
wp import site.2021-05-20.013.xml --authors=create --allow-root
wp import site.2021-05-20.014.xml --authors=create --allow-root
wp import site.2021-05-20.015.xml --authors=create --allow-root
wp import site.2021-05-20.016.xml --authors=create --allow-root
wp import site.2021-05-20.017.xml --authors=create --allow-root
wp import site.2021-05-20.018.xml --authors=create --allow-root
wp import site.2021-05-20.019.xml --authors=create --allow-root
wp import site.2021-05-20.020.xml --authors=create --allow-root
wp import site.2021-05-20.021.xml --authors=create --allow-root
wo clean --fastcgi
clear


O primeiro comando é via WP-CLI e uso ao final o --allow-root por executá-lo como root. Quem estiver com outro usuário, eu acho que não precisa acrescentar --allow-root

Depois criei um arquivo.sh, dei permissão com chmod +x e mandei executar ./arquivo.sh

 wo clean --fastcgi  
limpa o cache se o servidor foi criado com o wordops (www.wordops.net)



  


2. Re: Tem como pausar intervalo para um script bash que exportar vários xml?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/05/2021 - 02:46h

danielpaixaobr escreveu:

Eu primeiro exportei o xml de um site Wordpress e depois fiz um script para importar no outro site. Ocorre que esse script faz uma série de ações em sequencia. Talvez isso desgaste o servidor por estar o tempo todo trabalhando. Alguém sabe como pausar por um minuto após o processamento de cada xml fatiado? Isso ajuda o servidor ou não faz diferença? Segue os comandos que utilizei abaixo.


wp export --dir=/var/www/site.com.br/htdocs/backup --user=carlos --skip_comments --post_status=publish --filename_format={site}.{date}.{n}.xml --post_type=post --max_file_size=5 --start_date=2020-03-01 --end_date=2021-05-20 --allow-root



#!/bin/bash
wp import site.2021-05-20.000.xml --authors=create --allow-root
wp import site.2021-05-20.001.xml --authors=create --allow-root
wp import site.2021-05-20.002.xml --authors=create --allow-root
wp import site.2021-05-20.003.xml --authors=create --allow-root
wp import site.2021-05-20.004.xml --authors=create --allow-root
wp import site.2021-05-20.005.xml --authors=create --allow-root
wp import site.2021-05-20.006.xml --authors=create --allow-root
wp import site.2021-05-20.007.xml --authors=create --allow-root
wp import site.2021-05-20.008.xml --authors=create --allow-root
wp import site.2021-05-20.009.xml --authors=create --allow-root
wp import site.2021-05-20.010.xml --authors=create --allow-root
wp import site.2021-05-20.011.xml --authors=create --allow-root
wp import site.2021-05-20.012.xml --authors=create --allow-root
wp import site.2021-05-20.013.xml --authors=create --allow-root
wp import site.2021-05-20.014.xml --authors=create --allow-root
wp import site.2021-05-20.015.xml --authors=create --allow-root
wp import site.2021-05-20.016.xml --authors=create --allow-root
wp import site.2021-05-20.017.xml --authors=create --allow-root
wp import site.2021-05-20.018.xml --authors=create --allow-root
wp import site.2021-05-20.019.xml --authors=create --allow-root
wp import site.2021-05-20.020.xml --authors=create --allow-root
wp import site.2021-05-20.021.xml --authors=create --allow-root
wo clean --fastcgi
clear


O primeiro comando é via WP-CLI e uso ao final o --allow-root por executá-lo como root. Quem estiver com outro usuário, eu acho que não precisa acrescentar --allow-root

Depois criei um arquivo.sh, dei permissão com chmod +x e mandei executar ./arquivo.sh

 wo clean --fastcgi  
limpa o cache se o servidor foi criado com o wordops (www.wordops.net)


Veja se é isso que quer.

#!/bin/bash
for site in 'site.2021-05-20.'{000..21}.'xml'; do
wp import ${site} --authors=create --allow-root;
sleep 1; #pausa de 1 segundo, se necessário, aumente...
done
wo clean --fastcgi
clear

Obs:. Como seu exemplo está na sequência, 000 a 021,
Não é necessário escrever as 21 linhas......


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________



3. Não deu certo

Daniel Oliveira da Paixão
danielpaixaobr

(usa CentOS)

Enviado em 23/05/2021 - 11:28h

Criei o script como você sugeriu, apenas trocando site pelo nome real e não deu certo

O nome real do arquivo é expressorondnia.2021-05-23.xml




4. Re: Tem como pausar intervalo para um script bash que exportar vários xml?

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/05/2021 - 18:01h


danielpaixaobr escreveu:

Criei o script como você sugeriu, apenas trocando site pelo nome real e não deu certo

O nome real do arquivo é expressorondnia.2021-05-23.xml

Desculpa Daniel, quando copiei e colei, foi errado (faltou o for),
corrigido:
#!/bin/bash
for site in 'site.2021-05-20.'{000..21}.'xml'; do
wp import ${site} --authors=create --allow-root;
sleep 1; #pausa de 1 segundo, se necessário, aumente...
done
wo clean --fastcgi
clear



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________