Dúvida
Como atualizar o printer nos appservers em ambientes Windows e Linux usando script?
Ambiente
Cloud - Microsiga Protheus - Atualização de printer via script - Windows / Linux ( T-CLOUD)
Solução
Para atualizar o printer de forma automática, siga os passos abaixo:
Este documento visa entregar praticidade e maior agilidade para este tipo de atualização que tratamos com frequência na operação.
1. Suba o printer a ser atualizado no diretório downloads do ambiente em questão.
-Caso precise, os arquivos podem ser obtidos pelo portal:
https://suporte.totvs.com/portal/p/10098/download#000006/368/all/search/PRINTER
*Para Windows será apenas o arquivo printer.
*Para Linux será printer e pdfprinter
2. Em ambientes Windows ( T-CLOUD),
Com o arquivo printer já presente no diretório downloads:
( D:\outsourcing\totvs\protheus_data\downloads )
2.1 Abra o Poweshell ISE:
*Se a aba de script não tiver aberta, clique em "Script":
2.2 Cole o script </>:
$sourceFile = "D:\outsourcing\totvs\protheus_data\downloads\printer.exe"
$logFile = "D:\outsourcing\totvs\protheus_data\printer_log.txt"
$sourceFileInfo = Get-Item $sourceFile
Add-Content -Path $logFile -Value ("Origem: $sourceFile - Tamanho: $($sourceFileInfo.Length) bytes - Última modificação: $($sourceFileInfo.LastWriteTime)")
Get-ChildItem -Path "D:\outsourcing\totvs\protheus\bin\" -Filter "appserver*" -Directory | ForEach-Object {
$destination = $_.FullName + "\printer.exe"
Copy-Item -Path $sourceFile -Destination $destination -Force
$destinationFileInfo = Get-Item $destination
Add-Content -Path $logFile -Value ("Destino: $destination - Tamanho: $($destinationFileInfo.Length) bytes - Última modificação: $($destinationFileInfo.LastWriteTime)")
Write-Host "Arquivo 'printer.exe' copiado para $destination"
}
Write-Host "Concluído com sucesso."
2.3 Clique em executar :
Então, será retornado a confirmação da execução em segundos.
-Será gerado um log de execução em D:\outsourcing\totvs\protheus_data\printer_log.txt
*Se o cliente possuir mais de uma instância, será necessário executar o script em cada instância adicional que o cliente possuir.
3. Em ambientes Linux
3.1 Com o arquivo printer já presente no diretório downloads:
( /outsourcing/totvs/protheus_data/downloads )
3.2 Abra o terminal, aplique a permissão sudo su e cole o script abaixo e pressione enter:
yes | find /outsourcing/totvs/protheus/bin/ -type d -name 'appserver*' -exec bash -c 'cp /outsourcing/totvs/protheus_data/downloads/printer "$1" && cp /outsourcing/totvs/protheus_data/downloads/pdfprinter "$1" && chmod 770 "$1"/printer "$1"/pdfprinter && chown protheus.totvs "$1"/printer "$1"/pdfprinter && cd /outsourcing/totvs/protheus_data/downloads/ && echo "Origem:" && ls -l printer pdfprinter && echo "Destino ($1):" && ls -l "$1"/printer "$1"/pdfprinter' -- {} \; && echo "Concluído com sucesso."
3.2.1 O Script executará trazendo o resultado e uma listagem comparando a origem e o destino:
-Ao concluir será retornado a mensagem "Concluído com sucesso":
*Se o cliente possuir mais de uma instância, será necessário executar o script em cada instância adicional que o cliente possuir.
0 Comentários