web客户端常用Linux脚本自动计划

批量Linux实例清理垃圾并创建自动每周清理计划

#!/bin/bash

# Delete old files in the /tmp directory that are no longer needed
find /tmp -type f -mtime +7 -delete

# Delete all files in the /tmp directory that have a .tmp extension
rm /tmp/*.tmp

# Empty the trash directory
trash-empty

# Find large files or directories that are taking up a lot of space on the server
# and delete them if they are no longer needed
for file in $(du -a / | sort -n -r | head -n 10); do
  if [ -f "$file" ]; then
    rm "$file"
  fi
done

bash -c "cat > /path/cleanup_script.sh" <<EOF
#!/bin/bash

# Delete old files in the /tmp directory that are no longer needed
find /tmp -type f -mtime +7 -delete

# Delete all files in the /tmp directory that have a .tmp extension
rm /tmp/*.tmp

# Empty the trash directory
trash-empty

# Find large files or directories that are taking up a lot of space on the server
# and delete them if they are no longer needed
for file in $(du -a / | sort -n -r | head -n 10); do
  if [ -f "$file" ]; then
    rm "$file"
  fi
done
EOF
# Schedule the script to run every week
crontab -l > mycron
echo "0 0 * * 0 /path/cleanup_script.sh" >> mycron
crontab mycron
rm mycron

查询资产CPU 内存 磁盘使用情况计划

#!/bin/bash

echo "CPU usage:"
top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'

echo "Memory usage:"
free -h | grep "Mem" | awk '{print $3 "/" $2}'

echo "Disk usage:"
df -h | grep "^/dev/" | awk '{print $3 "/" $2}'

自动定时重启计划,如每天10点15分重启表达值为 0 15 10 ? * * 表达值可自行修改 0 0 05 * * ? 为5点执行

#!/bin/bash
reboot

修改用户密码计划:

如修改用户ubuntu 新密码为123456

!/usr/bin/expect -f
spawn passwd ubuntu
expect "New Password:"
send "123456\r"
expect "Retype New Password:"
send "123456\r"
expect eof

当一个项目需要归集数据是文本时,比如一些项目自动创建的钱包数据为JSON文件,我们需要保存该文件已被以后导入钱包使用。比如 q-dev项目生成ERC20钱包为以太JSON文件导入。在没有解析秘钥时,我们需要把该文件下载保存,代码如下:

该钱包文件保存在/root/testnet-public-tools/testnet-validator/keystore/目录下,开头为UTC-******,
#!/bin/bash

# 判断scp命令是否已安装
if ! command -v scp > /dev/null; then
  # scp命令未安装,执行安装操作
  # 这里假设您使用的是Debian或Ubuntu系统
  apt-get update
  apt-get install -y openssh-client
fi
# 获取本机IP地址
local_ip=$(curl ifconfig.me)
# 连接远程服务器,并使用本机IP地址作为文件名
scp -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" /root/testnet-public-tools/testnet-validator/keystore/UTC* root@192.1.89.100:/data/${local_ip}.json
# 交互式输入远程服务器密码
echo "Enter password for root@192.1.89.100:"
read -s password
echo

# 使用expect工具处理交互式输入
expect -c "
  set timeout -1
  spawn scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null /root/testnet-public-tools/testnet-validator/keystore/UTC* root@192.1.89.100:/data/${local_ip}.json
  expect {
    \"Are you sure you want to continue connecting (yes/no)?\" {
      send \"yes\r\"
      expect {
        \"password:\" { send \"$password\r\" }
      }
    }
    \"password:\" { send \"$password\r\" }
  }
  expect eof
"

if [ $? -ne 0 ]; then
  # scp命令执行失败,打印错误信息并退出脚本
  echo "Error: scp command failed."
  exit 1
fi

# scp命令执行成功,打印提示信息
echo "File transferred successfully."


自动计划表达值表述介绍

  (1)0/2 * * * * ?   表示每2秒 执行任务

  (1)0 0/2 * * * ?    表示每2分钟 执行任务

  (1)0 0 2 1 * ?   表示在每月的1日的凌晨2点调整任务

  (2)0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业

  (3)0 15 10 ? 6L 2002-2006   表示2002-2006年的每个月的最后一个星期五上午10:15执行作

  (4)0 0 10,14,16 * * ?   每天上午10点,下午2点,4点 

  (5)0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 

  (6)0 0 12 ? * WED    表示每个星期三中午12点 

  (7)0 0 12 * * ?   每天中午12点触发 

  (8)0 15 10 ? * *    每天上午10:15触发 

  (9)0 15 10 * * ?     每天上午10:15触发 

  (10)0 15 10 * * ?    每天上午10:15触发 

  (11)0 15 10 * * ? 2005    2005年的每天上午10:15触发 

  (12)0 * 14 * * ?     在每天下午2点到下午2:59期间的每1分钟触发 

  (13)0 0/5 14 * * ?    在每天下午2点到下午2:55期间的每5分钟触发 

  (14)0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 

  (15)0 0-5 14 * * ?    在每天下午2点到下午2:05期间的每1分钟触发 

  (16)0 10,44 14 ? 3 WED    每年三月的星期三的下午2:10和2:44触发 

  (17)0 15 10 ? * MON-FRI    周一至周五的上午10:15触发 

  (18)0 15 10 15 * ?    每月15日上午10:15触发 

  (19)0 15 10 L * ?    每月最后一日的上午10:15触发 

  (20)0 15 10 ? * 6L    每月的最后一个星期五上午10:15触发 

  (21)0 15 10 ? * 6L 2002-2005   2002年至2005年的每月的最后一个星期五上午10:15触发 

  (22)0 15 10 ? * 6#3   每月的第三个星期五上午10:15触发

在ubuntu安装桌面,webssh连接更方便

sudo apt -y update
sudo apt -y upgrade
sudo apt install -y ubuntu-desktop
sudo apt install -y lightdm
sudo service lightdm start
sudo apt install -y xrdp
安装谷歌浏览器
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install -y ./google-chrome-stable_current_amd64.deb
安装中文
sudo apt-get install -y language-pack-zh-hans