Написал скрипт, который делает бэкап базы данных и отправляет на гугл диск:
def db_backup
puts "Backing up DB..."
time = Time.new
date = time.strftime("%d.%m.%y_%H.%M.%S")
%x[pg_dump dbuser > ~/backups/db.sql]
%x[tar czPf ~/backups/db_#{date}.tar.gz ~/backups/db.sql]
%x[rm ~/backups/db.sql]
%x[drive upload --file ~/backups/db_#{date}.tar.gz -p 0B-UlAr4zyFN-OUtsQVI0ZVE]
%x[rm ~/backups/db_#{date}.tar.gz]
puts "File was uploaded"
end
if __FILE__ == $0
db_backup
end
При запуске из терминала все прекрасно работает - дамп создается, загружается и тд, но при попытке настроить автоматическое выполнение этого скрипта не происходит ровным счетом ничего. Вот то, что прописал в crontab -e:
* * * * * ruby /home/username/myapp/db_backup.rb
Также пробовал следующее:
* * * * * /bin/bash -l -c 'ruby /home/username/myapp/db_backup.rb'
К сожалению, безрезультатно. Как сделать корректно?