Fumar mata...
Descobri o que fazer àquelas pessoas que fumam em qualquer lado sem se preocupar se estão a matar quem está à volta. Fica aqui o truque:
Descobri o que fazer àquelas pessoas que fumam em qualquer lado sem se preocupar se estão a matar quem está à volta. Fica aqui o truque:
Ora cá estamos nós no meu dia favorito para escrever frases motivadoras... logo que publico o post de frases motivadores do dia dos namorados, é logo uma enchente de choro e suicídios que até sinto o planeta agradecer-me por o ter livrado de mais alguns macaquinhos que o estão a tentar destruir.
Mas chega de divagações, aqui vão as frases de hoje. Sim, porque hoje vão ser três. Pensem nelas como uma sequência... frases relacionadas com vários estágios do relacionamento entre dois seres humanos (sejam lá de que sexo forem... homens... mulheres... ou qualquer outra coisa).
«Um malmequer de um amante significa mais do que uma orquídea de um amigo.»
«Mais vale um seixo dado por amor que um diamante dado por dever.»
«Aquele que ressona adormece primeiro.»
Fica em inglês porque traduzido não tem piada nenhuma:
"Yesterday is history, tomorrow is mystery, but today is a gift, thats why it's called present"
Conjurado por Ptaaruonn às infâmes 17:28
Coisas que têm a ver com isto: Frases que iluminam
Olha, mas fica aqui o post. E vão 3 anos, ainda é pequenino. Vamos ver como vai ser quando crescer.
E pronto passou-se mais um ano de verborreia sem sentido.
Este ano vamos ter uma festa de arromba: vamos ter um grupo de gaitas de foles, uma enorme travessa de haggis e tudo bem regado com o melhor hidromel.
Melhor que isto só aquelas paradas de aniversário das estações privadas de televisão ou ver apresentadores de noticiário a cantar...
Provavelmente poucas pessoas irão achar isto útil, portanto aqui vai:
Hoje andei à procura duma forma fácil de fazer backups dos meus websites. Aquilo tem um sistema de gestão bem conhecido, o cPanel. Mas ele obriga a fazer tudo à mão. O problema é que além de ter de me lembrar de fazer backups todos os dias (ou pelo menos de tempos a tempos) ainda por cima já vai em 3 sites e há mais um na calha.
Após uma curta pesquisa, encontrei este tutorial para fazer backups de websites com cPanel usando php mas não gostei (passwords em texto no servidor + requer ir lá buscar o backup à mão + apagar ou ter um servidor ftp para onde enviar o backup).
Portanto, arranjei a minha forma de fazer a coisa, mas com a minha linguagem interpretada favorita: Python!
Aqui vai o código com comentários úteis (mais fáceis de ver num editor com coloração de sintaxe).
Mesmo quem não perceber nada de python deve conseguir costumizar este script. Caso não consiga, pode esconjurar-me à vontade.
Ah, mais uma coisa: isto foi feito para funcionar em linux/unix. Quem estiver a usar o windows que se lixe pode tentar usar o cygwin, uma máquina virtual ou arranjar uma versão do wget para windows.
Para se conseguirem esquecer de vez que fazem backups, basta (mais uma vez, no linux/unix) criar uma tarefa cron para que o computador faça os backups sozinho.
Segue-se o código:
#!/usr/bin/env python
# primeiro, vamos importar uma bibliotecas que precisamos
from os import system
from datetime import date
# vamos buscar a data de hoje...
# porque o nome do ficheiro de backup é feito com a data de hoje
today = date.today()
#------------------------------
# aqui COMEÇAM as configurações
#------------------------------
# aqui vai o IP e porta do alojamento do cpanel
# podem copiar da url que usam para aceder ao cpanel
host = '12.345.67.89:2082'
# aqui é a pasta onde vão ficar os backups
backupsFolder = '/home/eu/backups'
o_meu_site = { # os dados sobre uma das contas
'username' :'o_meu_site',
'domain' :'o_meu_site.algures.pt',
'password' :'a-minha-super-password'}
o_site_do_meu_vizinho = { # os dados de outra conta
'username' :'o_site_do_meu_vizinho',
'domain' :'o_site_do_meu_vizinho.algures.pt',
'password' :'a-super-password-do-meu-vizinho'}
# vamos juntar as contas numa lista para fazer backups de tudo
accounts = [o_meu_site, o_site_do_meu_vizinho]
#-----------------------------
# aqui ACABAM as configurações
#-----------------------------
# ok, agora vamos percorrer a lista de contas
for account in accounts:
# indicamos a pasta de destino do backup
destinationFolder = '%s/%s' % (backupsFolder, account['username'])
# agora vamos ver onde está o backup
remoteURL = 'http://%s:%s@%s' % (account['username'],
account['password'], host)
# e vamos escrever o comando que vai lá buscar as cenas
wget = "wget -P %s %s" % (destinationFolder, remoteURL)
# primeiro vamos buscar o backup da base de dados
dbfile = 'getsqlbackup/%sdb.sql.gz' % account['username']
system("%s/%s"%(wget, dbfile))
#agora vamos buscar o backup da "home directory"
homefile = 'getbackup/backup-%s-%d-%d-%d.tar.gz' % (
account['domain'], today.month, today.day, today.year)
system("%s/%s"%(wget, homefile))
#e pronto, tá feito!
Com esta crise, convém dar umas dicas fazer uns tostões extra sem grande trabalho: