Erro de backup do Linux Mint 17.1 tar

1

Eu usei o script abaixo com sucesso com o Ubuntu 12.04. Agora eu fiz uma nova instalação no Linux mint 17.1 e não consigo fazer com que o script de backup tar funcione mais. dá um erro:

Aqui está o script, tentei executar fora do script e o tar funciona:

#!/bin/bash

TODAY=$(date +%F)
HOST=$(hostname)

echo "------------- backing up $HOST ------------------"

sudo su - user -c "tar cvpzf /FILES/Media/Programs/Mint/Backup/$HOST$TODAY.tgz --exclude=/proc --exclude=/lost+found --exclude=/FILES/Media/Programs/Mint/Backup/$HOST$TODAY.tgz --exclude=/mnt --exclude=/FILES --exclude=/sys --exclude=/BACKUP --exclude=/MEDIA /"

echo "------------- Finished ------------------"

Indique este erro:

: not found/backup.sh: 2: /etc/init.d/backup.sh: 
: not found/backup.sh: 5: /etc/init.d/backup.sh: 
 ------------------ng up mint-server
: not found/backup.sh: 7: /etc/init.d/backup.sh: 
tar: Removing leading '/' from member names
tar: /\r: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
: not found/backup.sh: 9: /etc/init.d/backup.sh: 
------------- Finished ------------------

Por que o script não está funcionando no Mint 17.1?

    
por user2023042 15.06.2015 / 20:09

1 resposta

0

Bom dia!

Não sei por que o seu script falha no Mint 17.1, mas funciona no Ubuntu 12.04 - mas acredito que o Ubuntu 12.04 usa upstart e o Mint 17.1 usa systemd , então será baseado nisso. Dados os erros, parece que o script está sendo executado por / bin / sh, embora eu acredite que isso esteja ligado a / bin / dash, que deve ser capaz de analisar seu script ...

Seu script é /etc/init.d/backup.sh ? Seu script não é realmente um script de init compatível com LSB; Os scripts init devem declarar suas dependências com um bloco de cabeçalho e responder aos comandos start , parar , recarregar , etc. - uma boa descrição é no Debian Wiki LSBInitScripts . Se você tiver um script /etc/rc.local , execute seu script a partir dele. É o local adequado para colocar scripts de usuário que devem ser executados após o init ter concluído o trabalho através dos runlevels.

Acredito que o Mint 17 usa systemd por padrão, portanto, se você não tiver um rc.local , será necessário criá-lo e adicionar um serviço systemd criando /etc/systemd/system/rc-local.service contendo:

[Unit]
Description=/etc/rc.local Compatibility

[Service]
Type=oneshot
ExecStart=/etc/rc.local
TimeoutSec=0
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

e depois executando

systemctl enable rc-local.service

Quaisquer outros scripts de inicialização personalizados que você usa devem ser executados a partir daqui. É claro que você poderia criar um serviço systemd separado para executar o backup usando o acima como um esqueleto, modificado de acordo.

HTH!

    
por 16.06.2015 / 10:49