[Linux] Deletando uma pasta com muitos, muitos arquivos

As vezes nos deparamos com uma situação onde temos milhares de arquivos em uma pasta e precisamos elimina-los. Estive em uma situação como essa quando em uma loja feita em Magento a pasta var/sessions estava lotada de arquivos, onde não estava apenas prejudicando a performance da loja, mas também começou a prejudicar o funcionamento do Linux em si e impedir que novas sessões fossem abertas.

Continue lendo “[Linux] Deletando uma pasta com muitos, muitos arquivos”

Git Push via SSH

Tutorial objetivo e rápido. Não entrarei em detalhes.

1 – Criar a chave SSH:

ssh-keygen -t rsa -b 4096 -C "seuemail@gmail.com"

– Pode dar enter nas 3 perguntas sem responder nada.

2 – Adicionar ao ssh-agent:

ssh-add git-rsa

Se não funcionar use esse:

ssh-add ~/.ssh/id_rsa

Se também não funcionar é porque o ssh-agent está desativado. Ative com esse comando:

eval $(ssh-agent)

Depois tente o primeiro comando desse passo 2 novamente.

3 – Adicionar a chave nas configurações do seu github:
– Acesse https://github.com/settings/keys
– Clique em [New SSH Key]
– Digite um nome qualquer e cole no campo de texto o conteúdo do arquivo id_rsa.pub (que é sua chave pública)

4 – Configurando seu usuário e e-mail no git
Primeiro certifique-se de estar na pasta anterior à pasta do git

cd ~

Agora configure:

git config user.name "seu-usuario"
git config user.email "seuemail@gmail.com"

Se der algum erro ao digitar esse comandos tente isso primeiro:

mkdir ~/.git

Depois tente configurar novamente.

5 – Testar a conexão

ssh -T git@github.com

Você deverá receber um aviso assim:
[code]Hi seu-usuario! You’ve successfully authenticated, but GitHub does not provide shell access.[/code]
Se for isso deu tudo certo.

6 – Clonar o repositório:

https://github.com/seu-usuario/seu-repositorio.git

7 – Se clonou por HTTPS (como fiz acima), você precisará configurar o git origin para ser SSH ou ele te pedirá pelo e-mail e senha.

git remote set-url origin git@github.com:seu-usuario/seu-repositorio.git

8 – Pronto, depois disso é o de sempre:

git add .
git commit -am "comentário"
git push origin

Postando em uma Página do Facebook com PHP (CURL)

Obs: Tem um vídeo no final do post onde ensino tudo isso.

Resolvi criar esse tutorial para ajudar pessoas que precisam publicar um texto ou link em uma página do Facebook.

Exemplo de utilização: você tem um site e quer que logo após postar uma notícia que ela seja seja compartilhada no Facebook em forma de link para trazer leitores pro seu site.

Minha motivação para esse tutorial foi que depois de perder horas pesquisando na internet e na documentação do Facebook, descobri que é simples fazer isso sem o SDK deles.

Primeiro, temos que pegar o token de acesso para o local em que desejamos postar, seja na timeline de uma pessoa ou de uma página.

Nesse exemplo vamos publicar em uma página, mas o procedimento para publicar em uma timeline de pessoa é ainda mais simples, abordarei isso rapidamente no vídeo do final.

Acessamos o seguinte link para pegar o token:

https://developers.facebook.com/tools/explorer/

Primeiro selecionamos o app que será utilizado.

Em seguida clicamos em “Get token” e depois em “Get user access token”, e na janela que se abre marcamos uma dessas opções: manage_pages e publish_stream.

Após marcar as opções clicamos em “Get Access Token”.

Nas telas seguintes autorize o que o Facebook perguntar.

Segundo passo é pegar o ID da página desejada.

Clique novamente no botão “Get Token” e note que agora ele mostra todas as páginas que você tem acesso, selecione a desejada e clique no botão azul Submit.

Isso exibirá o ID da página, copie ele e também o “Access Token” que fica no input acima (o access token tem validade curta, no vídeo ensino como pegar um de maior duração).

Com essas duas informações vamos ao código necessário:

Obs.: caso não tenha o CURL instalado, clique aqui.


<?php
$page_access_token = 'XXXXXXX';
$page_id = 'YYYYYYYY';

// E as informações do que será postado.
$data['picture'] = "http://www.exemplo.com/imagem.jpg";
$data['link'] = "http://www.seulink.com.br/";
$data['message'] = "Mensagem (opcional)";
$data['caption'] = "Legenda (opcional)";
$data['description'] = "Descrição do link (opcional)";

Na verdade todos os campos acima são opcionais desde que ou o link ou o message estejam presentes.

Para mais informações aqui está a documentação: https://developers.facebook.com/docs/reference/api/post/

Continuando…


$data['access_token'] = $page_access_token;
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';

// E pra finalizar fazemos o post para o Facebook:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);
?>

O retorno o ID do post que poderia ser utilizado para apaga-lo ou edita-lo ou um erro.

Espero que isso resolva o problema de muita gente, pois a documentação do Facebook é péssima quando você quer uma coisa mais prática, eles tentam sempre te empurrar o SDK, o que não é necessário para coisas simples como essa.

Links úteis:

 

Habilitando usuário root para o SSH no Ubuntu Server

Logado como root no terminal digite:

vi /etc/ssh/sshd_config

Adicione uma linha contendo “PermitRootLogin yes”. Talvez essa linha já exista e esteja comentada com um “#”. Nesse caso apenas remova o “#”.

Para entrar no modo de edição do vi basta teclar [a].

Ficaria assim:

# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Certifique-se que essas duas configurações estão como yes

PasswordAuthentication yes
ChallengeResponseAuthentication yes

Salve as alterações teclando nessa ordem: [esq][:][q][w][enter]

Reinicie o serviço utilizando:

service sshd restart

Se não der, reinicie a máquina:

shutdown -r now

Agora você pode se conectar como root pelo SSH.

Talvez te interesse: Configurando IP estático no Ubuntu Server

Referências:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/V2V_Guide/Preperation_Before_the_P2V_Migration-Enable_Root_Login_over_SSH.html