public Backup(final IEssentials ess) { this.ess = ess; server = ess.getServer(); if (!server.getOnlinePlayers().isEmpty()) { startTask(); } }
@Override public void run() { if (!active.compareAndSet(false, true)) { return; } @Cleanup final ISettings settings = ess.getSettings(); settings.acquireReadLock(); final String command = settings.getData().getGeneral().getBackup().getCommand(); if (command == null || command.isEmpty()) { return; } ess.getLogger().log(Level.INFO, _("backupStarted")); final CommandSender consoleSender = server.getConsoleSender(); server.dispatchCommand(consoleSender, "save-all"); server.dispatchCommand(consoleSender, "save-off"); ess.getPlugin().scheduleAsyncDelayedTask(new BackupRunner(command)); }